RWDテーマのナビゲーションから「すべてのカテゴリを表示」リンクを削除します


8

rwdテーマのメニューから[すべて表示]リンクを削除するにはどうすればよいですか?

これは、私が現在持っているカテゴリのセットであり、メニューに表示する方法です

カテゴリー1-
サブカテゴリー1
----サブカテゴリー1- サブカテゴリー
2

カテゴリー2-
サブカテゴリー1

rwdを使用すると、次のようなメニューが表示されます

カテゴリ
1-すべて表示カテゴリ1-
サブカテゴリ1
----すべて表示サブカテゴリ1
----サブカテゴリ
-サブカテゴリ2

カテゴリ2-
サブカテゴリ1

検索を試しましたが、解決策が見つかりません。


リード
ブロムキスト

回答:


22

これを行うには、RWD設計パッケージ内にカスタムテンプレートディレクトリを作成する必要があります(まだ作成していない場合)。これにより、に存在するデフォルトのテンプレートの再作成または上書きが回避されmagento/app/design/frontend/rwd/default/templateます。

例として、作成します magento/app/design/frontend/rwd/custom/template

私たちは、編集しようとしている特定のテンプレートは、トップメニューであるrenderer.phtmlに存在します- magento/app/design/frontend/rwd/default/template/page/html/topmenu/renderer.phtml。このファイルを適切に拡張するにmagento/app/design/frontend/rwd/custom/templateは、先ほど作成したディレクトリ内に一致するディレクトリ構造を作成します。最終的には次のようなディレクトリになります。magento/app/design/frontend/rwd/custom/template/page/html/topmenu

topmenuテンプレートディレクトリが作成されたら、renderer.phtmlファイルをから作成rwd/default/template/page/html/topmenuしたrwd/custom/template/page/html/topmenuディレクトリにコピーします。

このファイルには、62〜71行目に次のコードが含まれている必要があります。

    if (!empty($_hasChildren)) {
    $html .= '<ul class="level'. $childLevel .'">';
    $html .=     '<li class="level'. $nextChildLevel .'">';
    $html .=         '<a class="level'. $nextChildLevel .'" href="'. $child->getUrl() .'">';
    $html .=             $this->__('View All ') . $this->escapeHtml($this->__($child->getName()));
    $html .=         '</a>';
    $html .=     '</li>';
    $html .=     $this->render($child, $childrenWrapClass);
    $html .= '</ul>';
}

コピーしたファイルで、中央セクションを削除またはコメントアウトして、次のようにします。

    if (!empty($_hasChildren)) {
    $html .= '<ul class="level'. $childLevel .'">';
    $html .=     $this->render($child, $childrenWrapClass);
    $html .= '</ul>';
}

ファイルを保存したら、adminhtml-> System-> Configuration-> General-> Design-> Themesに移動し、「Templates」フィールドに値「custom」-> Save Configを設定して、キャッシュをクリアします。

これで、サイトナビゲーションの[すべて表示XXX]部分が表示されなくなります。


これで問題が解決しました。同様の投稿を見つけましたが、カスタムディレクトリの作成やキャッシュのクリアについては説明されていませんでした。
マット

-2

このCSSをどこかに追加することもできます(styles.cssなど)

.view-all {
    display: none;
}

cssで何かを非表示にしても実際には削除されず、単に非表示になる
Haim
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.