0

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

是否可以不在面包屑中显示特色?我想要其余类别的面包屑中的类别名称。

谢谢抗体

4

3 回答 3

1

为什么没有比这更简单的呢?

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

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

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

.category4 strong { display: none; } 

它只会隐藏该类别。

于 2012-12-26T09:41:49.963 回答
1

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

在 page/html/breadcrumb.phtml 文件中第 34-36 行附近的更改中,将 $_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'];
        }

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

于 2012-05-16T11:36:07.527 回答
0

而不是使用

$_product->getProductUrl()

要获取 URL,请使用:

$_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)确定

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

于 2012-05-16T12:11:51.997 回答