2012-05-09 77 views
0

在我的Magento產品頁面上;當產品具有一個自定義屬性的多個值時;而不是顯示值顯示文本「數組」。它適用於一個值。 謝謝, 薩姆Magento產品顯示文本「數組」而不是多個值

+0

您必須遍歷值並單獨顯示它們。既然你沒有提供太多的信息,那我只能抱歉。 –

+0

嗨Zachary,我在我的產品的view.phtml文件中有以下代碼:'<?php echo $ _product-> getAttributeText('metal')?>'我將如何遍歷它們以使它們全部顯示? – Sam

回答

0

我發現這對Magento論壇,它似乎工作: `getData('attribute_name')):?>

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

`

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; ?> 
+0

我用你的代碼替換了我的代碼;現在它不顯示值。 – Sam

+0

查看我的編輯/回覆 –

+0

嗯。您的修改後的代碼也不會輸出任何內容。 – Sam