Здравейте, проблемът, пред който съм изправен, изглеждаше много прост в началото, но сега се превърна в истински кошмар.
Бях помолен да добавя атрибут (а именно точка) към всички продукти (което беше направено доста лесно с помощта на административния панел) и да имам общата му стойност като атрибут на количката, върху който могат да се задават правила!?
Съвсем сигурен съм, че атрибутите на количката са дефинирани в:
class Mage_SalesRule_Model_Rule_Condition_Address extends Mage_Rule_Model_Condition_Abstract
{
public function loadAttributeOptions()
{
$attributes = array(
'base_subtotal' => Mage::helper('salesrule')->__('Subtotal'),
'total_qty' => Mage::helper('salesrule')->__('Total Items Quantity'),
'weight' => Mage::helper('salesrule')->__('Total Weight'),
'payment_method' => Mage::helper('salesrule')->__('Payment Method'),
'shipping_method' => Mage::helper('salesrule')->__('Shipping Method'),
'postcode' => Mage::helper('salesrule')->__('Shipping Postcode'),
'region' => Mage::helper('salesrule')->__('Shipping Region'),
'region_id' => Mage::helper('salesrule')->__('Shipping State/Province'),
'country_id' => Mage::helper('salesrule')->__('Shipping Country'),
);
$this->setAttributeOption($attributes);
return $this;
}
<...>
Така че, ако презапиша този модел и добавя елемент към този масив, ще получа атрибута, показан в административния панел за дефиниране на правило. Изглежда, че всички тези атрибути имат съответстваща колона в таблицата sales_flat_quote_address с изключение на total_qty и payment_method!
Сега проблемът е какво трябва да направя, за да може новият ми атрибут да бъде изчислен и оценен при обработка на правила? трябва ли да добавя колона към тази таблица и да актуализирам стойността й при промени в количката?
Всяко разбиране за това как да направите това би било от голяма полза, благодаря.