Magento-グループ化された製品テーブルにカスタム属性を表示
-
05-07-2019 - |
質問
<!> quot; Product Name <!> quot;の代わりにカスタム属性の値を表示する方法を見つける必要があります。下の画像に示されています。
(ソース: magentocommerce.com )
/app/design/frontend/default/defaultx/template/catalog/product/view/type/grouped.phpを使用しています
以下のコードは機能しません(カスタム属性はyearmadeです):
<?php if (count($_associatedProducts)): ?>
<?php foreach ($_associatedProducts as $_item): ?>
<tr>
<td><?php echo $this->htmlEscape($_item->getYearmade()) ?></td>
ご協力いただければ幸いです。
編集:答えは非常に簡単であることがわかりました。上記で言及しなかったのは、実際に出力された ということでしたが、それは単なる数字(例:52)でした。これは、そのカスタム属性値のIDであることがわかりました(カスタム属性のドロップダウンタイプでした)。
つまり、要約
これは、テキストタイプのカスタム属性に対して機能します。
echo $this->htmlEscape($_item->getYearmade())
ただし、他のすべてのタイプのカスタム属性(と思う)には、次を使用する必要があります。
echo $this->htmlEscape($_item->getAttributeText('yearmade'))
以下のAlan Stormが提供する最も優れた答えがなければ、これを発見できなかったでしょう。ありがとうございます。
解決
すべてのMagentoモデルには<!> quot; getData <!> quot;があります。キー/値ペアのphp-arrayを返すメソッドが利用可能です。 grouped.phtmlファイルの先頭でこれを試してください($ _productが定義された後)
print('<pre>');print_r($_product->getData());print('</pre>');
次のような出力が表示されます。
Array
(
[store_id] => 1
[entity_id] => 3437
[entity_type_id] => 4
[attribute_set_id] => 27
[type_id] => grouped
[sku] =>
[category_ids] =>
[created_at] => 2009-04-16 03:37:51
...
したがって、プロパティの配列を取得し、キーを引き出すだけです。また、Magentoの便利/魔法のgetXおよびsetXメソッドを使用することもできます。すべてのMagentoモデルで、名前のキャメルケースバージョンに基づいてメソッドを呼び出すことにより、データ配列の任意のプロパティにアクセスできます。
$created_at = $_product->getCreatedAt();
$_product->setCreatedAt($date);
したがって、カスタム属性名が何であれ、上記を使用して取得でき、print_rまたはvar_dumpだけがわからない場合は、getData()によって返される配列の内容を取得する必要があります。
最後に、カスタム属性が関連製品の単純な製品の1つにある場合は、次のようなものが必要になります
$_associatedProducts[0]->getCreatedAt();
他のヒント
同じ問題がありました。
-
grouped.phtmlを見つける必要があります
app/design/frontend/base/default/template/catalog/product/view/type/grouped.phtml
-
アイテムの取得、例
$_item[units]
-
表にセルを追加し、エコーを貼り付けます
$_item['units'];
-
すべて:)
ver。から1.3。 1.4でも、 $ _ product ではなく $ _ item を使用する必要があります。私にとっては、これはグループ化可能なテーブルでも正常に機能します。
例:
<?php echo $_item->getAttributeText('your attribute'); ?>
ソリューションを本当に簡単に解決できるプラグインがあります。製品オプションを取得してグリッドに表示するプラグインをここで見つけることができます: http:// www.magemechanics.com/product-grid-options.html