0

在我的 Magento 产品页面上;当产品的一个自定义属性具有多个值时;它不显示值,而是显示文本“数组”。它适用于一个值。谢谢,-山姆

4

2 回答 2

0

您可以执行以下操作:

<?php
    foreach($_product->getMetal() as $name => $value): ?>
<?php echo $name;?> = <?php echo $value;?>
<?php
    endforeach; ?>

Magento 利用了 PHP 神奇的 getter/setter 功能 (http://www.php.net/manual/en/language.oop5.overloading.php#object.get)。

您可以vardump($_product)查看可用属性(它们存储在产品的 _data 数组中)。然后要检索其中一个,您只需删除下划线并将每个单词的第一个字母更改为大写即可。

编辑:

如果上面的代码没有输出值,你可以这样做(它会告诉你如何获取值):

<?php
    foreach($_product->getMetal() as $attribute): ?>
<?php var_dump($attribute); ?>
<?php
    endforeach; ?>
于 2012-05-10T02:05:08.430 回答
0

我在 Magento 论坛上找到了这个,它似乎有效:`getData('attribute_name')): ?>

getResource()->getAttribute('attribute_name')->getFrontend()->getValue($_product)) ?>

`

于 2012-05-10T20:13:49.273 回答