Magento产品显示文本“数组”而不是多个值

时间:2012-05-09 21:28:57

标签: arrays magento custom-attributes

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

2 个答案:

答案 0 :(得分: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; ?>

答案 1 :(得分:0)

我在Magento论坛上发现了这个,它似乎有效: `getData('attribute_name')):?&gt;

getResource() - &gt; getAttribute('attribute_name') - &gt; getFrontend() - &gt; getValue($ _ product))?&gt;

`