私はMagentoにモジュールを実行しています。私のモジュールには、magentoのCrosssellネイティブ機能と同じ機能があります。この製品グリッドがあり、ユーザーはいくつかのチェックボックスを選択して、この製品をメイン製品に関連付けます。大丈夫。
ただし、この製品の ID を保存するカスタム属性を作成し、Observer を「catalog_product_save_after」イベントに作成しました。
<events>
<catalog_product_save_after>
<observers>
<brindeproduto_save_product_data>
<type>singleton</type>
<class>brindeproduto/observer</class>
<method>saveProductTabData</method>
</brindeproduto_save_product_data>
</observers>
</catalog_product_save_after>
</events>
私の saveProductTabData では、リクエストに応じて ID でメインの製品をロードし、「1,2,3,4,5,6」のように、選択した製品の IDS をカスタム属性に配置します。
わかりましたが、 $product->save(); を実行すると エラーや例外なしで、ブラウザに無限の負荷がかかりました。オブザーバーのコードは単純です。
$product = Mage::getModel('catalog/product')->load($product_id);
//some logical Specific information that is not in question now.
$product->save();
これ以上何もない。
保存機能をデバッグして、興味深い結果を得ようとしました。Mage_Core_Model_Abstract 関数の save() で、コードの一部にダイスを配置し、すべてを取得します。このコードは、Magento 1.5 Community の関数保存行 330 の一部です。
if ($dataCommited) {
$this->_afterSaveCommit();
}
return $this;
関数の最後の行です。帰る前にダイを入れます。
if ($dataCommited) {
$this->_afterSaveCommit();
}
die('test');
return $this;
私はダイを持っています。しかし、帰国前には何もありません。何が起こったのか知っている人もいますか?? これで5時間ロス。どんな助けでも大歓迎です。