シンプルなテンプレート統合を備えた php コンテンツ管理システムを作成していますが、適切なテンプレート言語が見つかりません。現在、私は xml テンプレートを使用しており、それらを php DOM で解析しています。テンプレートは次のようになります。
<div class="one_fourth">
<h4 class="section-header"><span><CMS_STRING type="string" name="title" title="Title" /></span></h4>
<p><CMS_STRING type="string" name="body" title="Body text" tooltip="" /></p>
<p><CMS_STRING type="link" name="link" title="Link" /></p>
</div>
PHP では、すべての CMS_STRING タグを DOM getElementsByTagName で解析してから、訪問者のためにデータベースから値を取得するか、管理者のために編集可能な入力を生成します。
xml の 1 つの問題は、たとえば、属性でタグを使用できないことです。
<a href="<CMS_STRING name="url" />"></a>
もう 1 つの問題は、php DOM の引用符のエスケープです。見苦しくて読めません。ローカライズされたタイトルの属性に JSON を入れたいとしましょう:
<CMS_STRING type="string" name="title" title="{"enUS":"Title","enGB":"Title"}" />
では、ここで他にどのテンプレート言語を使用できますか? また、xml をサポートするためにも必要です (たとえば、CMS_STRING 内部 HTML を取得するなど)。私が見つけたすべてのテンプレート言語は、キャッシング エンジンと、私が必要としない他のすべてのもので事前に作成されています。パーサーを備えた単純な言語が必要なだけで、他のことは自分で処理します。
ありがとう。