私は面白い問題に遭遇しました。Smarty テンプレート内で Smartyテンプレートを使用する必要があります。
これが理由です。私はさまざまな wiki Web サイトで同じテンプレートを使用しており、各 Web サイトには独自の構成があります。構成には、メイン テンプレートのパーツ (変更されたタイトルや見出しなど) が含まれています。
簡単な例を次に示します。topic-list.template.html
すべての Web サイトで共有されているファイルがあります。
<div id="topics">
<h1>{$h1}</h1>
...
</div>
ご覧のとおり、このテンプレート ファイルには、<h1>
Web サイトごとにカスタマイズできるタグが含まれています。
次に、各 Web サイトに対して、次のような構成ファイルを用意しました (簡略化)。
$config = [
"h1-titles" => [
"topics" => "Showing Topics in {\$category}"
]
];
ご覧のとおり、構成ファイルには Smarty テンプレートが含まれています。
topic-list.template.html
そのため、ファイルをレンダリングするときは、$config['h1-titles']['topics']
最初に を介してレンダリングし$smarty->fetch("string":$config['h1-titles']['topics'])
、それをh1
Smarty 変数に割り当てる必要があります。私の簡略化されたコードは次のようになります。
$h1_tag = $smarty->fetch("string":$config['h1-titles']['topics']);
$smarty->assign('h1', $h1_tag);
$smarty->display('topic-list.template.html');
$config['h1-titles']['topics']
どうにかして をファイルに自動的に挿入し、topic-list.template.html
すべてを一度にレンダリングできるのではないでしょうか?