Php 组件安装时joomla 3.0中的插件安装
我正在尝试用joomla 3.0中的插件创建新组件 我成功地安装了这个组件。我的要求是安装带有组件的插件,但在安装过程中出现了一些问题 为此,我创建了插件xml 我在main manifest.xml文件中编写了这段代码Php 组件安装时joomla 3.0中的插件安装,php,joomla,joomla3.0,Php,Joomla,Joomla3.0,我正在尝试用joomla 3.0中的插件创建新组件 我成功地安装了这个组件。我的要求是安装带有组件的插件,但在安装过程中出现了一些问题 为此,我创建了插件xml 我在main manifest.xml文件中编写了这段代码 <plugins> <plugin plugin="switcher" group="system"> <files folder="plg_system_switcher"> <file&
<plugins>
<plugin plugin="switcher" group="system">
<files folder="plg_system_switcher">
<file>switcher.php</file>
<file>switcher.xml</file>
</files>
</plugin>
</plugins>
jimport('joomla.utilities.xmlelement');
jimport('joomla.utilities.simplexml');
$plugins = $this->manifest->plugins;
我希望插件信息来自$this->manifest,但manifest不返回任何类似插件的对象
请帮忙
提前谢谢
Mayur.嗨,我解决了这个问题,获取插件的tmp路径,并调用安装程序类。所有这些都在脚本文件中。代码如下:
public function install($adapter){
$installer = JInstaller::getInstance();
$path = $installer->getPath('source');
$plugin_dir = $path.'/my_plugin_dir';
$plugin_installer = new JInstaller();
$plugin_installer->install($plugin_dir);
}
你还可以执行一些额外的检查路径是否存在,包是否有效等等…嗨,我解决了这个问题,获取插件的tmp路径,并调用安装程序类。所有这些都在脚本文件中。代码如下:
public function install($adapter){
$installer = JInstaller::getInstance();
$path = $installer->getPath('source');
$plugin_dir = $path.'/my_plugin_dir';
$plugin_installer = new JInstaller();
$plugin_installer->install($plugin_dir);
}
您还可以执行一些额外的检查,看看路径是否存在,包是否有效等等…我不确定您的理解是否正确。但是如果你想把一个组件和一个插件一起安装,你通常只是把它作为一个包来安装。 为此,您需要为组件和插件创建一个常规安装包。因此,每一个都是可以独立安装的,彼此都有自己的清单和所有内容 然后使用这两个zipfile创建第三个zipfile和另一个名为plg_extensionname.xml的清单文件。此清单文件如下所示:
<?xml version="1.0" encoding="UTF-8" ?>
<extension type="package" version="3.0" method="upgrade">
<name>Extensionname Package</name>
<creationDate>2013-04-13</creationDate>
<author>Author Name</author>
<authorEmail>dummy@example.com</authorEmail>
<authorUrl>http://www.example.com</authorUrl>
<license>Creative Commons 3.0</license>
<version>1.0</version>
<packagename>extensionname</packagename>
<description>Description for Extension</description>
<files>
<file type="component" id="com_extensionname" >com_extensionname.zip</file>
<file type="plugin" id="plg_extensionname">plg_extensionname.zip</file>
</files>
</extension>
扩展名包
2013-04-13
作者姓名
dummy@example.com
http://www.example.com
知识共享3.0
1
扩展名
扩展说明
com_extensionname.zip
plg_extensionname.zip
Joomla将自动同时安装这两个扩展。我不确定您的理解是否正确。但是如果你想把一个组件和一个插件一起安装,你通常只是把它作为一个包来安装。 为此,您需要为组件和插件创建一个常规安装包。因此,每一个都是可以独立安装的,彼此都有自己的清单和所有内容 然后使用这两个zipfile创建第三个zipfile和另一个名为plg_extensionname.xml的清单文件。此清单文件如下所示:
<?xml version="1.0" encoding="UTF-8" ?>
<extension type="package" version="3.0" method="upgrade">
<name>Extensionname Package</name>
<creationDate>2013-04-13</creationDate>
<author>Author Name</author>
<authorEmail>dummy@example.com</authorEmail>
<authorUrl>http://www.example.com</authorUrl>
<license>Creative Commons 3.0</license>
<version>1.0</version>
<packagename>extensionname</packagename>
<description>Description for Extension</description>
<files>
<file type="component" id="com_extensionname" >com_extensionname.zip</file>
<file type="plugin" id="plg_extensionname">plg_extensionname.zip</file>
</files>
</extension>
扩展名包
2013-04-13
作者姓名
dummy@example.com
http://www.example.com
知识共享3.0
1
扩展名
扩展说明
com_extensionname.zip
plg_extensionname.zip
Joomla将自动同时安装这两个扩展。在Joomla 3.0中,不推荐使用Jxmlelement。要使用它,您需要使用
jimport('legacy.utilities.xmlement')代码>否则请使用PHP SimpleXML元素classIn Joomla 3.0,不推荐使用Jxmlelement。要使用它,您需要使用jimport('legacy.utilities.xmlement')
else使用PHP SimpleXML元素类