我需要在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中也遗漏了一些非常明显的东西?任何指针都非常赞赏!!
答案 0 :(得分:1)
也许不是:
$ ingredientsArray = array($ ingredientsArrayContent);
尝试使用:
$ ingredientsArray = array(explode(“,”,$ ingredientsArrayContent));
根据您的属性是否设置为:“水,盐,色素”或“水,盐,色素”,您的分隔符可能需要更改,或者您设置属性值的方式可能需要更改。