2

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

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

到目前为止,我可以将整个字符串作为一个列表项来回显,但是将字符串呈现为其单个值的数组到目前为止让我感到难过!见下文...

成分文本字段属性的值为“水”、“盐”、“色素”。- 添加引号和逗号只是假设这会将列表预先格式化为数组。

<?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 中,我是否过于复杂化并遗漏了一些非常明显的东西?任何指针都非常感谢!

4

1 回答 1

1

也许代替:

$ingredientsArray = 数组($ingredientsArrayContent);

尝试使用:

$ingredientsArray = array(explode(",",$ingredientsArrayContent));

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

于 2013-03-21T13:25:08.523 回答