【问题标题】:Echo class "active" if current url Magento如果当前 url Magento,则回显类“活动”
【发布时间】:2012-08-03 02:18:41
【问题描述】:

我的 Magento 模板文件中有几个链接。如果用户当前正在查看作为链接之一的页面,我希望该链接显示 CSS 类“活动”。我怎样才能做到这一点?

【问题讨论】:

    标签: php css magento


    【解决方案1】:
    $routeName   =  Mage::app()->getRequest()->getRouteName();
    $identifier  =  Mage::getSingleton('cms/page')->getIdentifier();
    

    上面的变量$routeName可以用来判断当前页面是否为CMS页面。另一个变量$identifier 将输出页面标识符。

    【讨论】:

    • @phant0m 我将以下代码添加到我的链接中,但未应用任何标识符。 <a href="../../products/sippi-grip"<?php $routeName = Mage::app()->getRequest()->getRouteName(); $identifier = Mage::getSingleton('cms/page')->getIdentifier(); ?> >SippiGrip</a>
    • @Sam:你只是在定义变量,实际上并没有向页面输出任何东西。
    • @phant0m 关于我原来的帖子。我怎样才能让它输出一个我可以为活动链接设置样式的类?
    • $routeName = Mage::app()->getRequest()->getRouteName(); $identifier = Mage::getSingleton('cms/page')->getIdentifier(); SippiGrip 检查这是否有效。您可以随时根据需要更改样式名称。
    【解决方案2】:

    创建一个包含所有链接(或页面)的数组

    $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>;
    

    【讨论】:

      【解决方案3】:

      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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多