ホームページ >バックエンド開発 >PHPチュートリアル >Magento がホームページからの製品ページのナビゲーションを修正_PHP チュートリアル
この記事は、Magento を友達に紹介するためのものです。トップページから製品がカテゴリ製品リストから製品詳細ページに入る場合、パンくずリスト ナビゲーションにはカテゴリ パスが含まれます。ホームページの商品ページ、または検索結果などに入力された場合は表示されません。おそらくMagentoが製品を複数のカテゴリに分類することをサポートしているためだと思います。いずれにせよ、製品ページにはカテゴリ パスが存在せず、ユーザー エクスペリエンスはあまり良くありません。
修正方法は、app/code/core/Mage/Catalog/Helper/Data.phpファイルを見つけます
ローカルコードプールにコピーをコピーします
app/code/local/Mage/Catalog/Helper/Data.php
getBreadcrumbPath 関数の先頭に、次のコード ロジックを追加します。
代码如下 | 复制幣 |
getBreadcrumbPath() { if (!$this->_categoryPath) { $path = array(); //日付を追加 2013-04-07 产品页面包チップ导航修正 if ($this->getProduct() && !$this->getCategory()) { $_categoryIds = $this->getProduct()->getCategoryIds(); rsort($_categoryIds); if ($_categoryId = $_categoryIds[0]) { $_category = Mage::getModel('カタログ/カテゴリ')->load($_categoryId); Mage::register('current_category', $_category); } } //終了日 2013-04-07 if ($category = $this->getCategory()) { $pathInStore = $category->getPathInStore(); $pathIds = array_reverse(explode(',', $pathInStore)); $categories = $category->getParentCatalog(); // カテゴリパスのパンくずリストを追加します foreach ($pathIds を $categoryId) { if (isset($categories[$categoryId]) && $categories[$categoryId]->getName()) { $path['category'.$categoryId] = array( 'ラベル' => $categories[$categoryId]->getName(), 'リンク' => $this->_isCategoryLink($categoryId) ? $categories[$categoryId]->getUrl() : '' ); } } } if ($this->getProduct()) { $path['product'] = array('label'=>$this->getProduct()->getName()); } $this->_categoryPath = $path; } $this->_categoryPath を返す; } |
まず、現在のページが製品ページであるかどうかを判断し、カテゴリ情報がない場合は、製品が属するカテゴリ ID を取得します。Magento では、製品を複数のカテゴリに追加できます。たくさんあるので、幸運なカテゴリを 1 つ選んでください
。 。