smarty:分配var和scope root

时间:2012-05-25 08:40:02

标签: scope smarty assign

我有一个像smarty这样的模板:

  • 模板文件夹
    • home.tpl
    • article.tpl
    • category.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是对的吗?

0 个答案:

没有答案