2012-10-05 79 views
0

有什麼辦法可以將xml文件包含到另一個Joomla 2.5及更高版本中?在xml中包含xml Joomla

我不問如何寫joomla xml params。題目很簡單。 有沒有辦法在Joomla中包含一個xml到另一箇中?

我有2個文件templateDetails.xmlextend.xml和使用 這些例子:

http://msdn.microsoft.com/en-us/library/aa302291.aspx

Can we import XML file into another XML file?

起始碼

templateDetails.xml:

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE install PUBLIC "-//Joomla! 2.5//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.6/template-install.dtd" [ 
     <!ENTITY extend SYSTEM "extend.xml"> 
    ]> 
<extension version="2.5" type="template" client="site" method="upgrade"> 
    <name>...</name> 
    <creationDate>...</creationDate> 
    <author>...</author> 
    <copyright>...</copyright> 
    <authorEmail>...</authorEmail> 
    <authorUrl>...</authorUrl> 
    <version>1.0</version> 
    <positions> 
    <position>top</position> 
    </positions> 
    <config> 
    <fields name="params"> 
     <fieldset name="basic"> 
     &extend; 
     </fieldset> 
    </fields> 
    </config> 
</extension> 

extend.xml:

<?xml version="1.0" encoding="utf-8"?> 
<field name="somevar" type="list" default="2" label="My label" description="My desc"> 
     <option value="1">Yes</option> 
     <option value="2">No</option> 
</field> 

,我不是做錯誤的地方或者需要另一種方法。任何幫助表示讚賞,

回答

0

不幸的是,我不認爲這是可能的與Joomla。這是我看過的,以減少我正在開發的Joomla組件中的xml代碼重複。我正在尋找Stack OVerflow來查看是否有解決方案在這裏。問題在於Joomla加載xml文件的方式。它使用$xml = simplexml_load_file($file)加載文件,但要使用實體擴展,則需要將其更改爲$xml = simplexml_load_file($file,null, LIBXML_NOENT)。 Joomla有多個位置加載xml文件,因此每個文件都需要更改。我不知道是否有一個特定的原因,Joomla開發人員沒有使用擴展形式,或者可能是我錯過了一些東西,有辦法做到這一點。我把它歸結爲一些進一步調查,並可能作爲Joomla的後續版本的拉取請求(我檢查了3.2.4版本,並沒有改變)。