当用户在 Joomla Administrator 中安装扩展时,Joomla 扩展是否可以在 images -> /images/events/ 下自动创建文件夹(事件)?
问问题
4173 次
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>
于 2012-01-07T15:54:35.973 回答