2013-03-21 59 views
2

我需要在Magento中提供一個數組定製產品屬性,將其所有值作爲列表項輸出。基本前提是產品成分清單...我們需要輸入(例如)水,鹽,着色以及在前端列表中列出的產品成分。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?任何指針非常感謝!

+0

具體而言,我將其稱爲產品視圖頁面上的一個選項卡。此邏輯位於文件:template/catalog/product/view/productIngredients.phtml上,該文件在catalog.xml佈局文件中以標準方式調用到選項卡組中。 – BenLeah 2013-03-21 11:04:00

回答

1

也許代替:

$ ingredientsArray =陣列($ ingredientsArrayContent);

嘗試使用:

$ ingredientsArray =陣列(爆炸( 「」,$ ingredientsArrayContent));

根據您的屬性設置爲「水,鹽,着色」還是「水,鹽,着色」,您的分隔符可能需要更改或者設置屬性值的方式可能需要更改。

+0

謝謝 - 這是99%的方式,正是我需要指出我朝着正確的方向! $ ingredientsArray = explode(「,」,$ ingredientsArrayContent);最後做了它,我只是失去了上面的數組()。完美的作品。 – BenLeah 2013-03-21 13:53:45

相關問題