Це перша і сподіваюсь не остання із із серії записок про 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');
ось цей запис додасть ваш атрибут у відповідну табличку в залежності від типу атрибуту( якщо інт то в табличку атрибутів інт і т.д.)
Після того як наш атрибут вже є доступним, то його можна змінювати і першим методом!
Припустимо ви добавили атрибут( розгляну на прикладі 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