У меня есть некоторые продукты, которые могут быть отфильтрованы заказчиком.Естественно, цена должна основываться на стоимости.
Например, я продаю коврики.Размеры ковриков могут быть иногда выбраны клиентом.Чтобы добиться этого, я создал 3 пользовательских параметра во всех настроенных продуктах: square_meter_price, ширина и высота.
После нажатия кнопки «добавить в корзину» клиент может выбрать ширину и высоту.После этого на странице оформления заказа / корзины покупатель в столбце «Название продукта» считывает правильное название продукта, ширину и высоту.Единственная мысль, которая здесь необходима, - это получить из нее правильную цену.
Я пытаюсь сделать это, переопределив метод Mage_Catalog_Model_Product_Type_Price :: getPrice ().Проблема в том, что я не могу получить значения ширины / высоты, введенные заказчиком, поэтому я могу выполнить математику.
Примечание: я уже пробовал перебирать $ product-> getOptions ().Мне удалось получить пользовательские параметры width / height, но я не смог получить значения, введенные клиентом.
Я также попытался $ 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);
}
}