Thursday, November 3, 2011

Нюанси Magento для початківців (Attribute)

Це перша і сподіваюсь не остання із із серії записок про Magento для початківців:

Припустимо ви добавили атрибут( розгляну на прикладі customer) і наш атрибут добавляється прекрасно в усі необхідні таблички (eav_attribute, customer_eav_attribute), але в мене постало запитання в тому як добавити даний атрибут до конкретного користувача??
я намагався вирішити питання так:


$customer = Mage::getModel('customer/customer')->load($customerId);
$customer->setMyattribute(myvalue);
$customer->save();


але дане рішення не буде ніяк впливати) якщо атрибут ще не є створеним в певній табличці (customer_entity_int, customer_entity_text і т.д.) тобто його ще не було для даного користувача і ніяких даних цей атрибут ще не зберігає. В такому випадку потрібний наступний блок:

$customer = Mage::getModel('customer/customer')->load($customerId);
$customer->setMyattribute(myvalue);
$customer->getResource()->saveAttribute($customer, 'myattribute');


ось цей запис додасть ваш атрибут у відповідну табличку в залежності від типу атрибуту( якщо інт то в табличку атрибутів інт і т.д.)
Після того як наш атрибут вже є доступним, то його можна змінювати і першим методом!

No comments:

Post a Comment

 
 
Blogger Templates