2014-01-20 2 views
3

Я добавил 4-5 атрибутов в производство и показан в правой колонке переднего конца. Теперь я хочу связать каждый атрибут производства. если я нажмю атрибут производителя, он покажет все продукты, которые содержат этот arribute/brand. , если кто знает это, пожалуйста, помогите мне. спасибо! я показал имя атрибута в переднем конце кода нижеКак указать ссылку на все атрибуты производителя

<?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-адресов.
Основная идея заключается в том, чтобы связать свои имена брендов на страницу расширенного поиска с определенной торговой маркой, заполненной в
Вы можете получить URL, как это:.

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

Вам просто нужно сейчас, чтобы получить идентификатор ($value->getId()), но если вы можете получить имя, вы также можете получить идентификатор.
И не забудьте указать, что атрибут бренда используется в расширенном поиске. Вы можете это сделать, отредактировав атрибут в бэкэнд.

[EDIT]
Сделайте свой 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

Пожалуйста, вы можете сказать мне, где я буду получать вышеуказанную URL ????? укажите полный путь –

+0

@PrinceKumar Я только что описал, как вы можете получить URL-адрес для определенного бренда. Пожалуйста, добавьте код, который у вас уже есть, для отображения имен, чтобы я мог подробнее объяснить. – Marius

+0

это мой код, который я добавил в catalogsearch/advanced/result.phtml ........ $ attribute = Mage :: getSingleton ('eav/config') -> getAttribute ('catalog_product', 'Manufacturer'); –

Смежные вопросы