【问题标题】:Magento - Single Custom Product Attribute with Array of ValuesMagento - 具有值数组的单个自定义产品属性
【发布时间】:2013-03-21 10:54:19
【问题描述】:

我需要在 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 中也遗漏了一些非常明显的东西?任何指针都非常感谢!

【问题讨论】:

  • 具体来说,我将其称为产品视图页面上的选项卡。此逻辑位于文件中:template/catalog/product/view/productIngredients.phtml,它在我的 catalog.xml 布局文件中以标准方式调用到选项卡组中。

标签: php magento attributes product


【解决方案1】:

也许不是:

$ingredientsArray = 数组($ingredientsArrayContent);

尝试使用:

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

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

【讨论】:

  • 谢谢 - 这是 99% 的方式,正是我需要指出我正确的方向! $ingredientsArray = explode(",",$ingredientsArrayContent);最后做到了,我只需要从上面丢失 array() 。完美运行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-10
  • 1970-01-01
  • 1970-01-01
  • 2012-07-29
  • 2014-02-10
  • 1970-01-01
相关资源
最近更新 更多