2

当用户在 Joomla Administrator 中安装扩展时,Joomla 扩展是否可以在 images -> /images/events/ 下自动创建文件夹(事件)?

4

3 回答 3

6

在组件的 xml 文件中,您需要添加以下属性:

<installfile>install.componentname.php</installfile> 

替换为组件的名称,这可以添加到组件安装 xml 文件的描述属性下方。

添加后,您需要创建一个名为“install.componentname.php”的文件,再次将 componentname 替换为组件的名称。

在此文件中添加以下内容:

<?php

// no direct access
defined('_JEXEC') or die('Restricted Access');

// import joomla's filesystem classes
jimport('joomla.filesystem.folder');

// create a folder inside your images folder
if(JFolder::create(JPATH_ROOT.DS.'images'.DS.'events')) {
   echo "Folder created successfully";
} else {
   echo "Unable to create folder";
} ?>

打包并安装,install..php 文件应该在您的 zip 存档的顶层。最后,您需要将此文件添加到组件文件列表中,就在属性之后添加以下行:

<files>
<filename>install.componentname.php</filename>
</files>

如果文件夹创建成功,会提示文件夹创建成功。

于 2011-03-15T16:41:26.857 回答
2

您可以在扩展的清单文件 [ 1 , 2 ] 中指定要在扩展安装时运行的自定义 php 脚本。这个脚本可以创建你的文件夹/images/events/

joomla 1.5 和 1.6 之间的安装程序存在一些差异:

1.5

  • 您只能对组件执行此操作,而不能对模块或插件执行此操作
  • 要指定您的自定义脚本,请使用<installfile/>清单文件的部分

1.6

  • 除了组件,您还可以为模块和插件使用自定义安装脚本
  • 使用<scriptfile/>清单文件的部分

[...] 我看到另一个答案已经发布。看看1.5;对于 1.6,使用<scriptfile/>并查看http://docs.joomla.org/Developers,尤其是http://docs.joomla.org/How_to_use_the_filesystem_package。文件夹的实际创建留给读者练习。

于 2011-03-15T16:49:07.103 回答
0
<!-- Site Main Media File Copy Section -->
    <media destination="com_helloworld">
        <filename>image.png</filename>
        <filename>flash.swf</filename>
    </media>

http://docs.joomla.org/Components:xml_installfile

于 2012-01-07T15:54:35.973 回答