我有一個銷售定製標誌的公司的Magento網站。我設置了自定義選項,以便客戶可以選擇他們所需的材料和尺寸。我的問題是我需要能夠根據所選材料和尺寸動態計算標誌的重量。我已經用javascript計算了重量,現在我正在嘗試使用checkout_product_add_after事件將其傳遞給Magento。根據所選定製選項的值設置Magento中簡單產品的自定義重量
我已經設置了一個名爲權重的自定義選項,它是一個文本輸入字段。我用javascript隱藏輸入字段並傳入計算的權重。我可以使用自定義模塊訪問重量,並使用setWeight()方法設置重量,但是當我檢查結帳時,重量尚未更新,運費也沒有變化。我試過在報價單和產品上設置重量,但都沒有成功。
這裏是我的Observer.php文件中的代碼:
<?php
class XM_CustomWeight_Model_Observer {
public function set_custom_weight($observer) {
$event = $observer->getEvent();
$product = $event->getProduct();
$options = $product->getCustomOptions();
$last = end($options);
$weight = $last->getValue();
$product->setWeight($weight);
$product->save();
}
}
有沒有人遇到這個問題,並找到一個好的解決辦法?感謝您的幫助!
設置商店ID爲管理確實工作!我沒有想到你提出的問題。如果我設置報價項目的重量而不是產品的重量,我會遇到同樣的問題嗎?使用發佈的爲訂單行項目添加自定義字段的解決方案,我假設我需要設置報價項目的權重而不是產品,對嗎?謝謝你的幫助! – johnny5 2013-05-06 15:44:40
報價是按訂單計算的,而不是全球性的,因爲每個人都喜歡產品,所以你不應該有這個問題 – 2013-05-06 15:46:00