我正在使用一个magento网站。我使用了一个特色类别来显示主页滑块产品。因此,当我单击产品时,它会在面包屑中显示为一个类别。
是否可以不在面包屑中显示特色?我想要其余类别的面包屑中的类别名称。
谢谢抗体
我正在使用一个magento网站。我使用了一个特色类别来显示主页滑块产品。因此,当我单击产品时,它会在面包屑中显示为一个类别。
是否可以不在面包屑中显示特色?我想要其余类别的面包屑中的类别名称。
谢谢抗体
为什么没有比这更简单的呢?
尝试使用 CSS。您的类别将有一个自动和特定的类。例如:
<li class="category4">
<strong>ARCHERY HUNTING</strong>
</li>
在这段代码中,我创建了一个类别,称为“射箭狩猎”。代码自动创建了class="category4",所以,只写在你的 CSS 上:
.category4 strong { display: none; }
它只会隐藏该类别。
实际上没有得到你的问题,但你可以从这里得到一些想法:
在 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'];
}
并检查它,希望你有所了解..
而不是使用
$_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