【发布时间】:2012-08-03 02:18:41
【问题描述】:
我的 Magento 模板文件中有几个链接。如果用户当前正在查看作为链接之一的页面,我希望该链接显示 CSS 类“活动”。我怎样才能做到这一点?
【问题讨论】:
我的 Magento 模板文件中有几个链接。如果用户当前正在查看作为链接之一的页面,我希望该链接显示 CSS 类“活动”。我怎样才能做到这一点?
【问题讨论】:
$routeName = Mage::app()->getRequest()->getRouteName();
$identifier = Mage::getSingleton('cms/page')->getIdentifier();
上面的变量$routeName可以用来判断当前页面是否为CMS页面。另一个变量$identifier 将输出页面标识符。
【讨论】:
<a href="../../products/sippi-grip"<?php $routeName = Mage::app()->getRequest()->getRouteName(); $identifier = Mage::getSingleton('cms/page')->getIdentifier(); ?> >SippiGrip</a>
创建一个包含所有链接(或页面)的数组
$urls = array('home.php', 'about.php', 'contact.php');
然后将当前url与数组中的url进行比较:
<li><a href="about.php" <?php if(in_array($current_url, $urls))
{ echo 'class="active"'; } ?>>About Us</a></li>;
【讨论】:
Magento 为每个页面单独分配类 获得活动状态的最简单方法是为每个链接分配一个类,然后为特定的主体类和链接类编写 CSS 角色。
body.page-a a.class-a {
color:red}
body.page-b a.class-b {
color:red}
<body class="page-b">
<a class="class-a">page a</a>
<a class="class-b">page b</a>
</body>
【讨论】: