我有一些產品可以由客戶定製。自然,價格必須基於成本。價格根據產品定製選項(寬度和高度)
例如,我出售地毯。有時,地毯的尺寸可由顧客選擇。爲了做到這一點,我在所有定製產品中創建了3個自定義選項:square_meter_price,width和height。
點擊'添加到購物車'後,客戶可以選擇寬度和高度。之後,在結帳/購物車網址上,客戶讀取'產品名稱'欄中正確的產品名稱,寬度和高度。唯一需要考慮的就是從中獲得正確的價格。
我想通過覆蓋Mage_Catalog_Model_Product_Type_Price :: getPrice()方法來做到這一點。問題是我無法獲得客戶輸入的寬度/高度值,所以我可以做數學。
注: 我已經嘗試遍歷$ product-> getOptions()。我能夠獲得自定義選項的寬度/高度,但我無法獲得客戶輸入的值。我也試過$ product-> getCollection() - > getAttribute('width')和$ product-> getAttribute('width'),但我得到了null。
預先感謝您。
class My_Catalog_Model_Product_Type_Price extends Mage_Catalog_Model_Product_Type_Price
{
public function getPrice(Mage_Catalog_Model_Product $product)
{
// get the width provided by the user
$width = $this->howToGet('width');
// get the height provided by the user
$height = $this->howToGet('height');
if ($width && $height) {
return $width * $height * $product->getAttribute('square_meters_price');
}
return parent::getPrice($product);
}
}
我見過幾個插件,承諾這樣做。儘管如此,我不能使用專有軟件。 – Marcelo
我想知道magento在哪裏存儲用戶輸入,因爲它可以被檢索。結帳頁面顯示。會話可能? – Marcelo