如何在Magento中为不同的产品使用不同尺寸的图表

时间:2012-11-16 07:07:47

标签: magento charts size

我需要为我的magento商店添加不同产品的不同尺寸图表。

任何人都可以在这里解释,如何做到这一点,并给我一个解决方案来做到这一点。

提前致谢 formygalaxy

2 个答案:

答案 0 :(得分:1)

您可以将产品属性(例如制造商)与静态块链接起来。

请参阅此代码:

$sizeGuideIdentifier = trim($_product->getAttributeText('manufacturer'));
$sizeGuideIdentifier = str_replace(' ','-',strtolower($sizeGuideIdentifier)) .'-size-guide';

if($this->getLayout()->createBlock('cms/block')->setBlockId($sizeGuideIdentifier)->toHtml()):

echo $this->getLayout()->createBlock('cms/block')->setBlockId($sizeGuideIdentifier)->toHtml();

else:

echo $this->getLayout()->createBlock('cms/block')->setBlockId('product-sizeguide')->toHtml();

endif;   

它将尝试回显一个名为例如“nike-sizeguide”,如果此块不存在,它将回退到默认的sizeguide。

答案 1 :(得分:1)

是的,这完全适用于Magento 1.9CE,虽然对我来说Erwin的解决方案需要插入“app / design / frontend /.../.../ template / catalog / product / view / type / options / configurable.phtml”。

非常简单的解决方案和出色的结果;我们现在自动为每个品牌(制造商)弹出一个fancybox大小图图像,无需编码,我们的库存管理员也不需要考虑它。

真的很棒 - 非常感谢Erwin Smit。我希望好业力已经拜访过你了;)

    <dd <?php if ($_attribute->decoratedIsLast){?> class="last"<?php }?>>
        <div class="input-box">
            <select name="super_attribute[<?php echo $_attribute->getAttributeId() ?>]" id="attribute<?php echo $_attribute->getAttributeId() ?>" class="required-entry super-attribute-select">
                <option><?php echo $this->__('Choose an Option...') ?></option>
              </select>
          </div>

        <div class="size-box"><?php 
                $sizeGuideIdentifier = trim($_product->getAttributeText('manufacturer')); 
                $sizeGuideIdentifier = str_replace(' ','-',strtolower($sizeGuideIdentifier)) .'-size-guide';
                if($this->getLayout()->createBlock('cms/block')->setBlockId($sizeGuideIdentifier)->toHtml()):
                echo $this->getLayout()->createBlock('cms/block')->setBlockId($sizeGuideIdentifier)->toHtml();
                else:
                echo $this->getLayout()->createBlock('cms/block')->setBlockId('product-sizeguide')->toHtml();
            endif;?>
        </div>
    </dd>