4
カートに商品を追加するときに商品価格をプログラムで(カタログやカートのルールではなく)変更することができます。Magento:カートに入れるときに商品価格を変更する方法
次の回答Programmatically add product to cart with price changeは、カートを更新するときにそれを行う方法を示しますが、商品を追加するときは表示されません。
おかげ
カートに商品を追加するときに商品価格をプログラムで(カタログやカートのルールではなく)変更することができます。Magento:カートに入れるときに商品価格を変更する方法
次の回答Programmatically add product to cart with price changeは、カートを更新するときにそれを行う方法を示しますが、商品を追加するときは表示されません。
おかげ
あなたはcheckout_cart_product_add_afterを聞くためにオブザーバークラスを使用すると、引用項目に対してカスタム価格を設定するために、製品の「スーパーモード」を使用することができます。あなたの/app/code/local/{namespace}/{yourmodule}/etc/config.xmlで
:その後、
<config>
...
<frontend>
...
<events>
<checkout_cart_product_add_after>
<observers>
<unique_event_name>
<class>{{modulename}}/observer</class>
<method>modifyPrice</method>
</unique_event_name>
</observers>
</checkout_cart_product_add_after>
</events>
...
</frontend>
...
</config>
そして/アプリ/コードでObserverクラスを作成/ローカル/ {名前空間}/{} yourmodule /Model/Observer.php私はオブザーバを使用してカートにカスタムの価格を設定して追加する場合
<?php
class <namespace>_<modulename>_Model_Observer
{
public function modifyPrice(Varien_Event_Observer $obs)
{
// Get the quote item
$item = $obs->getQuoteItem();
// Ensure we have the parent item, if it has one
$item = ($item->getParentItem() ? $item->getParentItem() : $item);
// Load the custom price
$price = $this->_getPriceByItem($item);
// Set the custom price
$item->setCustomPrice($price);
$item->setOriginalCustomPrice($price);
// Enable super mode on the product.
$item->getProduct()->setIsSuperMode(true);
}
protected function _getPriceByItem(Mage_Sales_Model_Quote_Item $item)
{
$price;
//use $item to determine your custom price.
return $price;
}
}
、その後、私は数量を乗じたオーダーの電子メールテンプレートでの単価を取得しています。 app \ design \ frontend \ default \ rfg \ template \ email \ order \ items \ order \ default.phtmlを修正するには <?php echo $ _order-> formatPrice($ _ item-> getRowTotal())? > – Muk
'$ item-> getProduct() - > setIsSuperMode(true);'この行から 'setIsSuperMode'を説明することはできますか?それは何をするためのものか? – mkutyba
スーパーモードのための解説は次のとおりです: "制限付きで引用符を使用することを意味するスーパーモードフラグの引用" 例:スーパーモードがtrueに設定されていると、magnetoはカタログに商品が表示されているかどうかをチェックしません – Nidheesh