私はマジェントのウェブサイトで作業しています。注目のカテゴリを使用して、ホームページのスライダー製品を表示しました。そのため、製品をクリックすると、ブレッドクラムのカテゴリとして特集されていることが示されます。
ブレッドクラムで特集を表示しないようにすることはできますか? 残りのカテゴリのブレッドクラムにカテゴリ名が必要です。
ありがとうアブ
私はマジェントのウェブサイトで作業しています。注目のカテゴリを使用して、ホームページのスライダー製品を表示しました。そのため、製品をクリックすると、ブレッドクラムのカテゴリとして特集されていることが示されます。
ブレッドクラムで特集を表示しないようにすることはできますか? 残りのカテゴリのブレッドクラムにカテゴリ名が必要です。
ありがとうアブ
なぜそれよりも単純ではないのですか?
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 の削除) によって決定されます。
要約すると、おすすめブロックで、通常の productUrl 呼び出しの代わりに、私が提供したものを使用し、おすすめ商品ブロック リストの最後で、私が提供したコードを使用して lastVisitedCategoryId を削除します。