在模块安装上的图像下自动创建新文件夹

时间:2011-03-15 15:36:15

标签: joomla joomla-extensions

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

3 个答案:

答案 0 :(得分:5)

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

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

替换为组件的名称,可以在组件install xml文件的description属性下添加。

添加完成后,您需要创建一个名为“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>

如果文件夹创建成功,则表示文件夹已成功创建。

答案 1 :(得分:2)

您可以在扩展程序的清单文件[12]中指定要在扩展程序安装时运行的自定义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。文件夹的实际创建留给读者练习。

答案 2 :(得分: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