2014-01-20 54 views
3

我已經在製造中添加了4到5個屬性並顯示在前端的右列。現在我想鏈接製造的每個屬性。如果我點擊一個製造商的屬性,它會顯示所有包含該到達品牌的產品。 如果有人知道這一點,請幫助我。 謝謝! 我已經通過下面的代碼如何給製造商的每個屬性提供鏈接

<?php 

     $attribute = Mage::getSingleton('eav/config')->getAttribute('catalog_product', 'Manufacturer'); 

     if ($attribute->usesSource()) { 
      $options = $attribute->getSource()->getAllOptions(false); 
if(count($options)>0){ 
    ?> 
    <div class="title_box">Manufacturers</div> 
    <?php $i=1;?> 
     <ul class="left_menu"> 
     <?php 
     foreach($options as $eachval){ 
     ?> 
     <?php if($i%2==0){ ?> 
      <li class="even"><a href="#"><?php echo $eachval['label']?></a></li> 
      <?php } else { ?> 
      <li class="odd"><a href="#"><?php echo $eachval['label']?></a></li> 
       <?php } $i++; ?> 

     <?php } ?> 
     </ul> 


    <?php } } ?> 

我已在目錄/產品頁面一個頁面manu.phtml現在把下面上面的代碼如何給鏈接到arribute顯示在前端屬性名稱.. .........請在href鏈接中簡要描述 ,我必須編寫的內容,以便當我點擊任何屬性時,它將顯示與該屬性/品牌相關聯的所有產品。

回答

2

總是有選擇使用自定義控制器創建一個新模塊,該模塊將列出來自指定品牌的產品,但即使它是乾淨的方式,這也是一個痛苦的過程。
這是一個簡單的版本,如果你不介意醜陋的網址。
的主要思想是你的品牌名稱填入的是一個特定的品牌鏈接到高級搜索頁
你可以得到這樣的網址:。

$url = Mage::getUrl('catalogsearch/advanced/result', array('_query'=>'brand='.$value->getId())) 

剛纔你需要得到的標識特定品牌($value->getId()),但如果您可以獲取該名稱,則還可以獲得該ID。
並且不要忘記指定在高級搜索中使用品牌屬性。您可以通過編輯後端中的屬性來完成此操作。

[編輯]
讓你ul元素看起來像這樣:

<ul class="left_menu"> 
    <?php 
    foreach($options as $eachval){ 
    $url = Mage::getUrl('catalogsearch/advanced/result', array('_query'=>'Manufacturer='.$eachval['value'])); 
    ?> 
    <?php if($i%2==0){ ?> 
     <li class="even"><a href="<?php echo $url?>"><?php echo $eachval['label']?></a></li> 
     <?php } else { ?> 
     <li class="odd"><a href="<?php echo $url?>"><?php echo $eachval['label']?></a></li> 
      <?php } $i++; ?> 

    <?php } ?> 
    </ul> 

小提示題外話。你可以避開li元素的重複在你的代碼是這樣

<ul class="left_menu"> 
    <?php 
    foreach($options as $eachval){ 
    $url = Mage::getUrl('catalogsearch/advanced/result', array('_query'=>'Manufacturer='.$eachval['value'])); 
    ?> 
     <li class="<?php echo ($i%2 == 0) ? 'even':'odd';?>"><a href="<?php echo $url?>"><?php echo $eachval['label']?></a></li> 
     <?php } $i++; ?> 

    <?php } ?> 
    </ul> 
+0

可以請你告訴我在哪裏,我會得到上面的網址?????請指定完整路徑 –

+0

@PrinceKumar我剛纔描述瞭如何獲得特定品牌的網址。請添加您已有的用於顯示名稱的代碼,以便我可以進一步解釋。 – Marius

+0

這是我的代碼,我已添加到catalogsearch/advanced/result.phtml ........ $ attribute = Mage :: getSingleton('eav/config') - > getAttribute('catalog_product','Manufacturer' ); –

相關問題