2017-01-26 1 views
0

設定可能な製品から属性を取得することについて質問があります。私たちのカタログを少しきれいにし、いくつかの設定可能な製品を含むいくつかの製品を関連製品と一緒に削除すると、その削除された製品を関連付ける電子メールは送信できません。一般に、構成可能な製品の属性テキストを電子メールに表示します。私の例では、属性size_attributeを持つ設定可能な製品があります。注文の製品は、例えば20×20cmの値を有する。今、私はこのラインという問題を抱えているMagento - orderemailで削除された構成可能な製品から属性テキストを取得

../template/email/order/items/order/default.phtml

$_simple = Mage::getModel('catalog/product')->loadbyAttribute('sku',$_item->getSku()); 

$attr = $_simple->getResource()->getAttribute('size_attribute'); 
$attribute_code = Mage::getModel('eav/entity_attribute')->load($attr->getAttributeId())->getAttributeCode(); 

$attribute_text = $_simple->getAttributeText($attribute_code) 

は、通常、私はこのような属性値を取得します

Mage::getModel('catalog/product')->loadbyAttribute('sku',$_item->getSku()) 

私はMagentoのは、9月の各のOrderItemのすべての情報をコピーすることを知っている:製品は私達のデータベースでは、もはや存在しない原因と失敗しますカタログから製品を削除するときに触れていないarateテーブル。

残念ながら、私がインターネットで読んだほとんどのソリューションは、上記の行から始まります。

別の方法で属性テキストを取得する方法はありますか?

答えて

0

明らかに削除された商品を読み込む方法はありません。

ここでの問題は、注文を処理するときに間違った実装が原因で発生したもので、属性値が変更される可能性があるため、製品からデータをフェッチしないようにしてください。代わりに、sales/quote_itemという新しい属性を作成し、カートに追加処理中に商品の値がコピーされるようにする必要があります(恐らくsales_quote_item_set_productイベント)。

関連する問題