【问题标题】:Magento - Removing Active State From Home PageMagento - 从主页中删除活动状态
【发布时间】:2009-12-28 20:07:56
【问题描述】:

我在 top.phtml 中有这段代码,它在我的 Magento 商店中显示我的菜单项:

<div class="header-nav-container"> 
<div class="header-nav"> 
<h4 class="no-display"><?php echo $this->__('Category Navigation:') ?></h4> 
<ul id="nav"> 
<li <?php if(!Mage::registry('current_category')) { echo 'class="level0 active"'; } else { echo 'class="level0"'; } ?>><a href="<?php echo $this->getUrl('') ?>"><span><?php echo $this->__('Home') ?></span></a></li> 
<?php foreach ($this->getStoreCategories() as $_category): ?> 

<?php echo $this->drawItem($_category) ?> 
<?php endforeach ?> 
<li <?php if(!Mage::registry('current_category')) { echo 'class="level0 active"'; } else { echo 'class="level0"'; } ?>><a href="<?php echo $this->getUrl('catalogsale')?>"><span><?php echo $this->__('Sale Items') ?></span></a></li> 
</ul> 

</div>

我在底部有一个额外的li,它显示了另一个页面。当我单击“销售项目”页面时,我遇到的问题是:它的链接变为活动状态,但主页链接也变为活动状态。如何防止主页链接显示为活动状态?

我添加了一个屏幕截图来显示问题: Screenshot

【问题讨论】:

    标签: php magento


    【解决方案1】:

    当当前类别未定义时,Home 和 Sale Items 行都通过代码 if(!Mage::registry('current_category')) 输出活动类别链接。不要检查类别,而是检查当前的控制器/动作。

    以下是 URL 函数列表(用于获取控制器/动作):

    http://docs.magentocommerce.com/Mage_Core/Mage_Core_Model_Url.html

    这样的代码应该可以工作。这取决于 catalogsale 是否是自定义控制器或操作的标识符,这取决于您的设置:

    if ($this->getRequest()->getControllerName() == 'catalogsale')
     // Output active class declaration
    
    /* Otherwise, try looking at the action name. */
    
    if ($this->getRequest()->getActionName() == 'catalogsale')
     // Output active class declaration
    

    【讨论】:

      【解决方案2】:

      我最终使用一些 javascript 解决了这个问题。我将此添加到新页面:

      <script type="text/javascript">
      Event.observe(window, 'load', function() {
      $$('li.active').invoke('removeClassName','active');
      $$('li.newmenu').invoke('addClassName','active');
      });
      </script>
      

      新的菜单项应该有一个“newmenu”类,上面的代码才能工作。

      【讨论】:

        猜你喜欢
        • 2012-06-18
        • 2014-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多