我正在開發一個擴展(模塊),如果可能,我想與Joomla 1.5,2.5和3.0兼容。我的主要問題是解決所需的不同XML文件。我決定創建一個用於Joomla 1.5的manifest.xml
文件,其中<install>
標籤和一個mod_mymodule.xml
文件用於Joomla 2.5/3.0,<extension>
標籤包含mod_mymodule.xml
包含字段集等,而manifest.xml
包含<params>
。Joomla擴展安裝
我的問題是,我的擴展在Joomla 3.0(在本地主機上)上安裝得很好。但是,在Joomla 2.5上安裝時,參數下沒有任何顯示。 Joomla 2.5的優先級是什麼以及爲什麼它使用manifest.xml
文件和安裝標籤而不是mod_mymodule.xml
文件?
Joomla 2.5會優先處理XML文件頂部的<install>
標記,而不是使用<extension>
標記在同一目錄中的另一個XML文件上嗎?
清單文件:
<?xml version="1.0" encoding="utf-8"?>
<install type="module" client="site" method="upgrade" version="1.5">
<name></name>
<author>George Wilson</author>
<creationDate>05-Mar-2012</creationDate>
<copyright></copyright>
<license>http://www.gnu.org/licenses/gpl-3.0.html</license>
<authorEmail></authorEmail>
<authorUrl></authorUrl>
<version>1.1.1</version>
<description></description>
<files>
<filename module="mod_mymodule">mod_mymodule.php</filename>
<filename>manifest.xml</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<folder>assets</folder>
<folder>tmpl</folder>
</files>
<languages>
<language tag="en-GB">language/en-GB/en-GB.mod_mymodule.ini</language>
</languages>
<params>
<param name="blah" type="text" default="5" label="Label" description="Description" />
</params>
</install>
mod_mymodule.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
<name></name>
<author>George Wilson</author>
<creationDate>05-Mar-2012</creationDate>
<copyright></copyright>
<license>http://www.gnu.org/licenses/gpl-3.0.html</license>
<authorEmail></authorEmail>
<authorUrl></authorUrl>
<version>1.1.1</version>
<description>Description</description>
<files>
<filename module="mod_mymodule">mod_mymodule.php</filename>
<filename>mod_mymodule.xml</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<folder>assets</folder>
<folder>sql</folder>
<folder>tmpl</folder>
</files>
<languages>
<language tag="en-GB">language/en-GB/en-GB.mod_mymodule.ini</language>
<language tag="en-GB">language/en-GB/en-GB.mod_mymodule.sys.ini</language>
</languages>
<install>
<sql>
<file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
</sql>
</install>
<uninstall>
<sql>
<file driver="mysql" charset="utf8">sql/uninstall.mysql.utf8.sql</file>
</sql>
</uninstall>
<config>
<fields name="params">
<fieldset name="basic">
<field name="moduleclass_sfx" type="text" default="" label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL" description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />
</fieldset>
</fields>
</config>
</extension>
錯誤: 下方位置參數: 通知(!):試圖讓ROOT非對象的屬性\管理員\部件\ com_modules \視圖\模塊\ TMPL \上線50
edit.php下方訂貨參數 (! )注意:嘗試獲取第61行中的非對象屬性C:\ wamp \ www \ joomla25 \ administrator \ components \ com_modules \ views \ module \ tmpl \ edit.php on line 61
它也在底部顯示Module XML data not available
。
更新:經檢驗它絕對是manifest.xml
文件正在安裝,而不是我想要的的Joomla 2.5使用mod_mymodule.xml
。
其中參數的組件或模塊,您可以使用標籤,但在參數存在使用和j 2.5使用,這些標籤所以儘量還是舉一些例子說明差異Ĵ1.5支持參數您的xmls代碼 –
已更新我的問題以指定其模塊。我的觀點是,我需要J1的manifest.xml文件。5 compat所以使用。和我想要的J2.5/3.0的mod_mymodule.xml,並使用
工作可我看到你的表現,也是你的模塊文件struture 2.5 –