どのようにタイプの属性のチェックボックスまたは複数の選択入力を使用するために、標準的な階層ナビゲーションを変換するか、ドロップダウンまたは複数選択?
たとえば、ユーザーが色属性に青と赤を選択した場合、階層ナビゲーションには青または赤のいずれかに一致するすべてのアイテムが表示されます。
どのようにタイプの属性のチェックボックスまたは複数の選択入力を使用するために、標準的な階層ナビゲーションを変換するか、ドロップダウンまたは複数選択?
たとえば、ユーザーが色属性に青と赤を選択した場合、階層ナビゲーションには青または赤のいずれかに一致するすべてのアイテムが表示されます。
回答:
この機能を提供する多くの拡張機能があります(「拡張レイヤーナビゲーション」を検索)。以下にリストされているすべての拡張機能を試しましたが、私のお気に入りはeコマースチームによるものです -ミニマルな性質で気に入っています。あまり努力しませんが、非常に強力で、すぐに使用できます。また、あなたが説明したような色見本もサポートしています。
順不同のその他:
これらが他のサードパーティモジュールと競合する可能性があることに注意してください。
主に色見本でこれを行うことを検討している場合は、Chad Morganによるこの拡張機能を確認することをお勧めします。
これは、未使用のフィルターを表示したままにすることに関するInchooの記事です。
あなた自身でこれをコーディングしようとしているなら、あなたの質問に対する答えはこのフォーラムにとって長すぎるかもしれないと思います。これを行う方法を教えているブログ記事/チュートリアルへのリンクはありませんが、階層化されたナビゲーションブロックの拡張から始めることをお勧めします。
デフォルトの階層化されたナビゲーションをチェックボックスに変換することにのみ関心がある場合、ソリューションは非常に簡単で、ここに配置します。
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>
ソリューションは、このバージョンの改良版です。したがって、クレジットはこの人にも当てはまります。