我已经设法在每个产品的基础上通过自定义属性渲染静态块,这很棒,但它似乎只能使用下拉,我想使用多选,所以我可以允许管理员选择多个静态块,而不是多个下拉菜单。
这是下拉列表的代码
<?php
$cmsstatic=$_product->getResource()->getAttribute('attributename')->getFrontend()->getValue ($_product);
echo $this->getLayout()->createBlock('cms/block')->setBlockID($cmsstatic)->tohtml();
?>
我设法为多选择获取属性选项的值:
<?php if($_product->getResource()->getAttribute('product_featured_attribute_3')->getFrontend()->getValue($_product)): ?>
<ul><li><?php
$_comma = ",";
$_list = "</li><li>";
echo str_replace($_comma,$_list,$_product->getResource()->getAttribute('attributename')->getFrontend()->getValue($_product)) ?>
</li></ul>
<?php endif; ?>
但我在将它输出为静态块时遇到问题。有什么想法吗?
答案 0 :(得分:0)
据我所知,你想要回显所有在产品属性中定义id的块内容。
为此你可以试试这个:
<?php
$cmsstatic=$_product->getResource()->getAttribute('attributename')->getFrontend()->getValue($_product);
$blockids = explode(",", $cmsstatic);
foreach($blockids as $kry=>$value)
{
echo $this->getLayout()->createBlock('cms/block')->setBlockID($value)->tohtml();
}
?>