私はこのようなスマートにテンプレートを持っています:
- テンプレート フォルダ
- ホーム.tpl
- 記事.tpl
- カテゴリ.tpl
- var.tpl
各テンプレート ファイル (var.tpl を除く) に、ファイル var.tpl を含めます。home.tpl は 1 列の構造を持ちます article.tpl は 2 列の構造を持ちます
私のテンプレートファイルは次のようなものです(ホームの例):
{include file="$tpl_dir./var.tpl"}
<div class="span{$center_column}" id="center_column">
</div>
私のウェブサイトの外観をすばやく変更するために、次の行を var.tpl に書きました。
{assign var=center_column_g value=['home'=>'12','article'=>'10'] scope="root"}
{assign var=center_column_default value='10' scope="root"}
{if $center_column_g[$page_name]}
{assign var=center_column value=$center_column_g[$page_name] scope="root"}
{else}
{assign var=center_column value=$center_column_default scope="root"}
{/if}
ps : $page_name は、各テンプレート ページの名前を持つグローバル変数です。
したがって、var.tpl を使用して、div #center_column のクラスを簡単に変更できれば
私はこのコードに疑問を持っています:
{if $center_column_g[$page_name]}
{assign var=center_column value=$center_column_g[$page_name] scope="root"}
{else}
{assign var=center_column value=$center_column_default scope="root"}
{/if}
ルート スコープに var center_column を割り当てるのは正しいですか?