階層化されたナビゲーションで複数のアイテムを選択する(複数の選択/チェックボックス)


12

どのようにタイプの属性のチェックボックスまたは複数の選択入力を使用するために、標準的な階層ナビゲーションを変換するか、ドロップダウンまたは複数選択

たとえば、ユーザーが色属性にを選択した場合、階層ナビゲーションには青または赤のいずれかに一致するすべてのアイテムが表示されます。

このページのツールバーの例を参照してください。


これとどうやって行きましたか?何を使うことに決めましたか?
jharrison.au

@ jharrison.au ..さて、選択ドロップダウンをカラースイッチャーとサイズに変更しました。まだ複数ではありません。
アリザンプラスラ

回答:


10

この機能を提供する多くの拡張機能があります(「拡張レイヤーナビゲーション」を検索)。以下にリストされているすべての拡張機能を試しましたが、私のお気に入りはeコマースチームによるものです -ミニマルな性質で気に入っています。あまり努力しませんが、非常に強力で、すぐに使用できます。また、あなたが説明したような色見本もサポートしています。

順不同のその他:

  1. http://amasty.com/improved-navigation.html
  2. http://www.aitoc.com/en/magentomods_layered_navigation_pro.html
  3. http://www.manadev.com/seo-layered-navigation-plus
  4. http://www.gomage.com/extensions/gomage-advanced-navigation.html

これらが他のサードパーティモジュールと競合する可能性があることに注意してください。


主に色見本でこれを行うことを検討している場合は、Chad Morganによるこの拡張機能を確認することをお勧めします。


これは、未使用のフィルターを表示したままにすることに関するInchooの記事です。


あなた自身でこれをコーディングしようとしているなら、あなたの質問に対する答えはこのフォーラムにとって長すぎるかもしれないと思います。これを行う方法を教えているブログ記事/チュートリアルへのリンクはありませんが、階層化されたナビゲーションブロックの拡張から始めることをお勧めします。


6
Amastyモジュールを使用しましたので、チェックアウトすることをお勧めします。しかし、Aitocモジュールは、10フィートのポールには触れません...またはそのモジュールについては触れません。
davidalger

Amastyモジュールは、カスタムeavモデルに裏打ちされたソースを使用するカスタム属性では動作しません。私たちの属性は外部APIを介して入力されるため、これは私たちにとって問題でした。
-greatwitenorth

8

デフォルトの階層化されたナビゲーションをチェックボックスに変換することにのみ関心がある場合、ソリューションは非常に簡単で、ここに配置します。

app/design/frontend/ourpackage/ourtheme/template/catalog/layer/filter.phtmlファイルのコードを次のように編集します。

<ol>
<?php foreach ($this->getItems() as $_item): ?>
    <li>
        <?php if ($_item->getCount() > 0): ?>
            <form>
                <span class="check-box">
                    <input type="checkbox" name="vehicle" onclick='window.location.assign("<?php echo $this->urlEscape($_item->getUrl()) ?>")'/>
                </span>
                <a href="<?php echo $this->urlEscape($_item->getUrl()) ?>">
                    <?php echo $_item->getLabel() ?>
                    <?php if ($this->shouldDisplayProductCount()): ?>
                    <span class="count">(<?php echo $_item->getCount() ?>)</span>
                    <?php endif; ?>
                </a>
            </form>
        <?php else: ?>
            <form>
                <span class="check-box">
                    <input type="checkbox" name="vehicle" onclick='window.location.assign("<?php echo $this->urlEscape($_item->getUrl()) ?>")'/>
                </span>
                <span>
                    <?php echo $_item->getLabel(); ?>
                    <?php if ($this->shouldDisplayProductCount()): ?>
                        <span class="count">(<?php echo $_item->getCount() ?>)</span>
                    <?php endif; ?>
                </span>
            </form>
        <?php endif; ?>
    </li>
<?php endforeach ?>
</ol>

ソリューションは、このバージョンの改良版です。したがって、クレジットはこの人にも当てはまります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.