在smarty中根据php文件名更改标签的类

时间:2013-08-05 22:20:39

标签: php css smarty

在模板中,有一些标签(使用HTML)可以使用class属性来说明活动,这样它们就可以弹出一点,并在视觉上告诉用户他/她在哪个标签中。

代码如下所示:

<ul id="top-navigation">
    <li class="active"><span><span><a href="{$smarty.const.SITE_URL}/admin/admin.index.php">Front Page</a></span></span></li>
    <li><span><span><a href="{$smarty.const.SITE_URL}/admin/members.list.php">Members List</a></span></span></li>
    <li><span><span><a href="#">Roll Call</a></span></span></li>
    <li><span><span><a href="#">Schedules 5022</a></span></span></li>
    <li><span><span><a href="#">Schedules 5088</a></span></span></li>
</ul>

所以我正在寻找一种可以告诉哪个<li>元素是当前活动标签的方法。默认情况下, Front Page 选项卡设置为活动状态。因此,当用户点击第二个标签时,我想将该标签设置为活动类。

以下是我如何设置应该在php文件中加载的模板(在本例中为 members.list.php ):

  $smarty->assign('content', 'admin/members.list'); //members.list.tpl
  $smarty->display('admin/index.tpl');

1 个答案:

答案 0 :(得分:2)

最简单的方法是根据正在查看的页面在smarty中设置页面变量,然后在模板中对其进行检查:

$smarty->assign('selectedItem', 'home');

<li {if $selectedItem eq 'home'}class="active"{/if}>