Magento - 具有值数组的单个自定义产品属性

时间:2013-03-21 10:54:19

标签: php magento attributes product

我需要在Magento中提供一个数组自定义产品属性,该属性将其所有值输出为列表项。基本前提是产品成分列表......在每个产品的基础上,我们需要输入(例如)水,盐,色素 - 以及那些作为前端列表呈现的产品。

到目前为止,我的逻辑是使用标准文本字段属性,在后端输入逗号分隔值,然后尝试将该字符串用作数组,我可以使用foreach创建无序列表。< / p>

到目前为止,我可以将整个字符串作为一个列表项回显,但是将字符串渲染为其各个值的数组到目前为止已经难倒了!见下文......

“成分”文本字段属性的值为“water”,“salt”,“colorings”。 - 引号和逗号的添加只是假设这样可以预先格式化列表作为数组。

<?php
$ingredientsArrayContent = $this->getProduct()->getSpa_productingredients();
$ingredientsArray = array($ingredientsArrayContent);
?>
<ul>
    <?php
    reset($ingredientsArray);
    foreach ($ingredientsArray as $ingredientsValue) {
        echo "<li>$ingredientsValue</li>\n";
    }
    ?>
</ul>

所以在前端这是输出:

<ul>
    <li>"water", "salt", "colourings"</li>
</ul>

我希望实现的目标是:

<ul>
    <li>water</li>
    <li>salt</li>
    <li>colourings</li>
</ul>

我是否过于复杂,甚至在Magento中也遗漏了一些非常明显的东西?任何指针都非常赞赏!!

1 个答案:

答案 0 :(得分:1)

也许不是:

$ ingredientsArray = array($ ingredientsArrayContent);

尝试使用:

$ ingredientsArray = array(explode(“,”,$ ingredientsArrayContent));

根据您的属性是否设置为:“水,盐,色素”或“水,盐,色素”,您的分隔符可能需要更改,或者您设置属性值的方式可能需要更改。