2

Magento で、すべての値をリスト項目として出力するカスタム製品属性の配列を提供する必要があります。基本的な前提は、製品成分のリストです... 製品ごとに、(たとえば) 水、塩、着色料を入力する必要があり、それらをフロントエンドでリストとしてレンダリングする必要があります。

これまでの私のロジックは、標準のテキスト フィールド属性を使用し、バックエンドでカンマ区切りの値を入力してから、その文字列を foreach を使用して順序付けられていないリストを作成できる配列として使用することでした。

これまでのところ、文字列全体を 1 つのリスト アイテムとしてエコーすることはできますが、文字列を個々の値の配列としてレンダリングするのは今のところ困惑しています。下記参照...

Ingredients テキスト フィールド属性には、「水」、「塩」、「着色料」の値があります。- 引用符とコンマの追加は、これによりリストが配列になる準備が整っていることを前提としています。

<?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 でも本当に明らかな何かを見逃していますか? どんなポインタでも大歓迎です!!

4

1 に答える 1

1

おそらく代わりに:

$ingredientsArray = array($ingredientsArrayContent);

使用してみてください:

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

属性が「水、塩、着色料」または「水、塩、着色料」のどちらに設定されているかによって、区切り文字を変更する必要があるか、属性値の設定方法を変更する必要がある場合があります。

于 2013-03-21T13:25:08.523 に答える