10

を使用して、カスタムドロップダウン属性の選択された値を取得しようとしています

echo $_product->getProductSize();

echo $_product->getAttributeText('product_size');

次に、キャッシュをクリアしてインデックスを再作成し、ページをリロードします。ドロップダウンから値を選択しようとしましたが、どちらも何も返しません。基本的に、私の質問は、カスタムドロップダウン属性から選択した値を取得するにはどうすればよいですか? これを使用して、選択した値に応じて製品ページに異なるコンテンツを表示する予定です。ヘルプとアドバイスをお寄せいただきありがとうございます。

追加:同じドロップダウンが呼び出される製品ページで呼び出そうとしています。

管理パネルで属性を少し試してみたところ、選択した値がページに反映されていることに気付きました。ただし、フロントエンドで動的に取得できることを望んでいました。これは可能ですか?たとえば、フロントエンドでは、顧客がオプション B を選択すると、オプション B に関連する情報が表示されます。その後、オプション D に変更された場合、情報はオプション D の情報に変更されます。

4

3 に答える 3

17
echo $_product->getAttributeText('product_size');

テーマがこの設定「製品リストで使用」および「フロントエンドの製品ビューページに表示」に依存していない限り、それは機能するはずです。属性の管理のバックエンドからの属性です。さらに、属性コードにスペースが含まれていないかどうかを確認してください。Magento では、フォーム送信を通じて属性コードにスペースを使用することはできませんが、属性がプログラムまたは SQL クエリから作成された場合は可能です。それ以外の場合は、コードや属性が問題を引き起こしているわけではありません。

于 2013-07-20T13:52:36.040 に答える
1

以下のコードを試すことができます

<?php if ($_product->getData('attribute_name')): ?>
<p><?php echo nl2br($_product->getResource()->getAttribute('attribute_name')
->getFrontend()->getValue($_product)) ?>
</p>
于 2013-07-19T05:56:08.607 に答える