サイトカレンダをスキップ

«
2017年 10月
»
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

-

ログイン

ログイン

QRコード

QR code


 掲示板目次 > Magento全般 > カスタマイズ質問 新規投稿 返信投稿
 左サイドバーへの属性リストの追加
 
smbccll
 2013年3月19日 18:40 JST (参照数 9478回)  
掲示板 Newbie
Newbie

状態: オフライン


登録日: 2013年2月25日
投稿数: 8
お世話になります。
おかげさまでフロントエンドのカスタマイズについては理解が進んできて、現在機能面でのカスタマイズを行なっております。

今回質問させていただきたいのは、
http://www.magento-jp.com/forum/viewtopic.php?forum=3&showtopic=562
こちらのトピックで質問されている内容と似ているのですが、商品属性を左サイドバーにリスト表示し、クリックした属性値でフィルタリングされるという機能についてです。
上記トピックではブランドリストということになっており、ちょうど私の方でも属性「manufacturer」をブランドとしたい考えでしたが、文中のリンクが切れていたこともあり質問させていただきます。

やりたいことがダイレクトに実装されているのが以下のページとなります。
http://www.aloharag.com/eng/shop/women/tops.html
こちらがMagentoで作られており、左サイドバーにある「FILTER BY DESIGNER」と「FILTER BY COLOR」のような仕組みを実装したいと思っています。

リンクパラメータを見る限りですと「manufacturer」と「color」の値を渡しているようなのですが、これは標準機能で実現可能なのでしょうか?

なお、私の方のMagentoのバージョンは1.7.0.2となります。
よろしくお願いいたします。

 
プロフィール メール
引用して書き込む
daisuke
 2013年3月19日 19:20 JST  
掲示板 Newbie
Newbie

状態: オフライン


登録日: 2010年7月 1日
投稿数: 14
こんにちは、初めて書き込みします。

無料のプラグインがいろいろあると思いますが、自分で書いたコードがあるのでどうぞ。

PHP Formatted Code

<?php
$product       = Mage::getModel('catalog/product');
$manufacturers = $product->getResource()->getAttribute('manufacturer')->getSource()->getAllOptions($this->getData('manufacturer'));
?>
<ul id="brand-list">
<?php foreach ($manufacturers as $manufacturer): ?>
    <li><a href="<?php echo Mage::getUrl() . "catalogsearch/advanced/result/?manufacturer[]=" . $manufacturer['value'] ?>"><?php echo $manufacturer['label'] ?></a></li>
<?php endforeach; ?>
</ul>
 


こんな感じで使ってます。
http://toppin.jp/brands/

 
プロフィール メール ホームページ
引用して書き込む
smbccll
 2013年3月22日 16:37 JST  
掲示板 Newbie
Newbie

状態: オフライン


登録日: 2013年2月25日
投稿数: 8
ご返信ありがとうございます。

コードとページを拝見しました。
動作のイメージとしてはそのような感じです。

こちらは検索結果画面にパラメータで値を渡していますが、これを標準のカテゴリページに入れることは可能なのでしょうか?

 
プロフィール メール
引用して書き込む
daisuke
 2013年3月22日 17:03 JST  
掲示板 Newbie
Newbie

状態: オフライン


登録日: 2010年7月 1日
投稿数: 14
"標準のカテゴリページ" がどんなページなのかわかりません。もしかしたらデフォルトテンプレートにそんなページがあるのかな?

"これ" を~入れる、というのはこのコードを書いてブランド一覧を表示させるという意味でしょうか?

だとすれば、多少の手直しは必要だと思いますが、表示させたい場所に書けば一覧が表示されるはずです。(よく意味がわからないので答えがズレてる気がします…)

 
プロフィール メール ホームページ
引用して書き込む
smbccll
 2013年3月26日 13:31 JST  
掲示板 Newbie
Newbie

状態: オフライン


登録日: 2013年2月25日
投稿数: 8
返信が遅れまして恐れ入ります。

http://demo.magentocommerce.com/catalog/category/view/s/laptops/id/15/

↑はMagentoのデモストアですが、例えばこのページに「Sony, Toshiba, Acer...」といったブランドリストがあってSonyをクリックするとこのカテゴリ内のSony製品のみにフィルタリングされるイメージです。

(上記ですと例えばElectronicsとApparelではそれぞれのブランドが出せれば良いかもしれませんが、そういった細かい出し分けは無しでどのカテゴリでも同じブランドリストで良いとさせてください)

 
プロフィール メール
引用して書き込む
daisuke
 2013年3月26日 14:50 JST  
掲示板 Newbie
Newbie

状態: オフライン


登録日: 2010年7月 1日
投稿数: 14
あぁ、ごめんなさい。質問を読み返してみたら見本のサイトが示されていることを見落していました。

これはきっと標準機能で実現されています。

メニューの、

Catalog > Attributes > Manage Attributes

で、目的の属性を選んで表示します。

Propaties > Frontend Properties

にある、Use In Layered Navigation を Filterable にしてください。

これでカテゴリページのサイドバーに、(カテゴリでフィルタリングされた)フィルターが表示されるはずです。

こんな感じ → http://toppin.jp/tools/tents

 
プロフィール メール ホームページ
引用して書き込む
smbccll
 2013年4月 1日 16:57 JST  
掲示板 Newbie
Newbie

状態: オフライン


登録日: 2013年2月25日
投稿数: 8
ご回答ありがとうございます。

ご指摘の点もFilterableに設定はしていたのですが表示されないままだったので調査しておりました。
結論から申しますとcatalog.xml内のカテゴリページの箇所に、catalog/layer/view.phtmlのブロックが無かったことで表示されていませんでした。

catalog/layer/view.phtmlのブロックを記述したところナビゲーションが表示され、動作も想定通りでしたのでお知らせ申し上げます。
ありがとうございました。

 
プロフィール メール
引用して書き込む
内容生成: 6.63 秒
新規投稿 返信投稿


通常 通常
注目トピック 注目トピック
ロック済 ロック済
新着 新着
注目トピック 新着 注目トピック 新着
ロック済トピック 新着 ロック済トピック 新着
ゲストユーザの投稿を見る 
ゲストユーザ投稿可能 
HTML許可 
バッドワードをチェック