0

Joomla 2.5以降でxmlファイルを別のファイルに含める方法はありますか?

joomla xml パラメータの書き方を尋ねているわけではありません。質問はタイトルのように簡単です。Joomla である xml を別の xml に含める方法はありますか?

2 つのファイルがtemplateDetails.xmlあり、extend.xml これらの例を使用しました。

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

XML ファイルを別の XML ファイルにインポートできますか?

開始コード

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>

拡張.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>

どこかで間違いを犯したか、別のアプローチを使用する必要があります。どんな助けでも大歓迎です、

4

1 に答える 1

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 を確認しましたが、変更されていません)。

于 2014-05-10T12:37:37.540 に答える