如何提供制造商的每个属性的链接

时间:2014-01-20 10:04:26

标签: magento

我在制造中添加了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,并在上面的代码中添加以下代码如何给到该到达的链接...........请简要描述 在href链接中,我必须写什么,以便当我点击任何属性时,它将显示与该属性/品牌相关的所有产品。

1 个答案:

答案 0 :(得分:2)

总是可以选择创建一个带有自定义控制器的新模块,该模块会列出指定品牌的产品,但即使它是干净的方式,这也是一个痛苦的过程。
如果您不介意丑陋的网址,这是一个简单的版本 主要想法是将您的品牌名称链接到填写了特定品牌的高级搜索页面 你可以得到这样的网址:

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

您现在只需要获取特定品牌的ID($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>