如何在magento breadcrumb中显示类别名称?

时间:2012-05-16 01:23:26

标签: magento magento-1.6

我正在使用magento网站。我使用了一个特色类别来显示主页滑块产品。因此,当我点击产品时,它会在面包屑中显示为一个类别。

是否有可能不在面包屑中显示特色?我想在面包屑中为其他类别添加类别名称。

由于 抗体

3 个答案:

答案 0 :(得分:1)

实际上没有得到你的问题,但你可以从这里得到一些想法:

在第34-36行附近的page / html / breadcrumb.phtml文件中更改,$ _crumbInfo ['label']到$ _crumbInfo ['title']

          <?php elseif($_crumbInfo['last']): ?>
          <strong><?php echo $this->htmlEscape($_crumbInfo['title']) ?></strong>

然后在catalog / block / breadcrumb.php中添加2行

        $path  = Mage::helper('catalog')->getBreadcrumbPath();
        $currentCategory = Mage::registry('current_category');
        $metaname = $currentCategory['name'];

并改变foreach循环,如

   foreach ($path as $name => $breadcrumb) {
        $breadcrumb['title'] = $metaname;
            $breadcrumbsBlock->addCrumb($name, $breadcrumb);

            $title[] = $breadcrumb['label'];
        }

并检查, 希望你有所了解......

答案 1 :(得分:1)

为什么不比这简单?

尝试使用CSS。您的类别将具有自动和特定的类。例如:

<li class="category4">
<strong>ARCHERY HUNTING</strong>
</li>

在这段代码中,我创建了一个名为“射箭狩猎”的类别。代码自动创建了 class =“category4”,所以,只写在你的CSS上:

.category4 strong { display: none; } 

它只会隐藏该类别。

答案 2 :(得分:0)

而不是使用

$_product->getProductUrl()

获取网址,请使用:

$_product->unsRequestPath()->getUrlInStore(array('_ignore_category' => true))

然后,您需要在功能块的末尾取消设置上次访问的类别ID:

Mage::getSingleton('catalog/session')->setLastVisitedCategoryId('');

这都是因为形成面包屑的关键部分是以下代码:

    $categoryId = $params->getCategoryId();
    if (!$categoryId && ($categoryId !== false)) {
        $lastId = Mage::getSingleton('catalog/session')->getLastVisitedCategoryId();
        if ($product->canBeShowInCategory($lastId)) {
            $categoryId = $lastId;
        }
    }

基本上,当前类别由URL参数(因此修改的URL调用)或通过会话对象(因此删除最后访问的类别ID)确定

所以,概括一下,在您的精选区块中,而不是常规的productUrl调用,使用我提供的那个,并在您的特色产品块列表的末尾,使用我给您的代码删除lastVisitedCategoryId