Як програмно встановити атрибут Multi-Select продукту за мітками


Відповіді:


24

Мультиселективні атрибути можуть бути встановлені у вигляді списку, розділеного комами (або також масиву), що містить ідентифікатор значення атрибута.

Тому спочатку ми повинні перетворити фактичні значення у внутрішні ідентифікатори Magento.

$attrCode = 'color_base';
$sourceModel = Mage::getModel('catalog/product')->getResource()
    ->getAttribute($attrCode)->getSource();
$valuesText = explode(',', 'red,green,blue');
$valuesIds = array_map(array($sourceModel, 'getOptionId'), $valuesText);
$product->setData($attrCode, $valuesIds);
$product->save();

це не працює, сторінка продовжує завантажуватися цим кодом
Netorica

2

Змініть останній рядок вищевказаного коду

$product->save();

з

$product->getResource()->saveAttribute($product, $attrCode);

Це працює

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.