如何将属性值作为列表添加到Magento中的页脚?

时间:2013-09-08 01:22:09

标签: magento attributes footer advanced-search

我在Magento的产品属于Brand。我需要做的是在页脚中显示品牌列表。类似于:我们的品牌:品牌1,品牌2,品牌3 ...

据我所知,我需要以某种方式从高级搜索中检索值并将其作为列表显示在页脚中,但我不知道该怎么做。有人有解决方案吗?

1 个答案:

答案 0 :(得分:0)

要遵循以下几个步骤

这里我将详细说明如何在页脚添加自定义属性。

1。您必须在块上创建以获取所有品牌产品并指定自定义属性

for block。

$attributes = Mage::getSingleton('eav/config')
    ->getEntityType(Mage_Catalog_Model_Product::ENTITY) // pass your attribute id
    ->getAttributeCollection()
    ->addSetInfo();

foreach ($attributes as $attribute)
{
    if ($attribute->usesSource())
    {
        echo "{$attribute->getFrontendLabel()}:\n";
        foreach ($attribute->getSource()->getAllOptions() as $option)
        {
            echo "  {$option['label']}\n";
        }
        echo "\n";
    }
}

上面是打印逻辑,你应该用一个变量存储一个数组。

2。在主题中创建视图文件以供显示,并在该home_logo文件中调用该块函数。

<?php $_brandsCollection = $this->getBrandsLogoCollection();?>
<div class="block block-layered-nav">
<div class="block-title">
    <strong><span><?php echo $this->__('Brands') ?></span></strong>
</div>
 <div class="block-content" > 
          <div id="Carousel2" class="carousel">
                <div class="button navButton previous" style="display:none;">Back</div>
                <div class="button navButton next" style="display:none;">More</div>
                <div class="container">
                    <div class="items">
                    <?php foreach ($_brandsCollection as $_brand): ?>                    
                        <div class="item">
                            <div class="key caption"></div>
                            <div class="icon">
                                                        <img class="brand-base-logo" alt="<?php echo $_brand->getBrandLogo() ?>" src="<?php echo $_brand->getBrandLogo(); ?>" width="50" height="50">            
                            </div>                    
                            <div class="picture">
                            </div>
                        </div>                            
                        <?php endforeach; ?>
                    </div>
                </div>
            </div>
        </div> <!-- end block content-->            
</div> 

3. 使用your_layout.xml将该文件分配给页脚,并在页脚之前引用。

<reference name="footer">
       <block type="brand/left" name="brands_logolist" before="-" template="brand/home_logo.phtml" />
  </reference>

希望你能理解我的逻辑。