多个选择值以呈现静态块内容

时间:2014-05-21 09:52:15

标签: php magento attributes

我已经设法在每个产品的基础上通过自定义属性渲染静态块,这很棒,但它似乎只能使用下拉,我想使用多选,所以我可以允许管理员选择多个静态块,而不是多个下拉菜单。

这是下拉列表的代码

<?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; ?>

但我在将它输出为静态块时遇到问题。有什么想法吗?

1 个答案:

答案 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();
   }
?>