Я хочу сделать новую опцию «Выбрать атрибут», видимой во всех продуктах. < /p>
У меня есть продукты, каждый из которых использует атрибут выбора под названием «Cracket_size». Этот атрибут имеет три варианта:
< /p>
(/admin/catalog_product_attribute/edit/)
Большинство из Продукты имеют только два из этих параметров:
(/admin/catalog_product/edit/)
Если я выберите «18 мм» на этом экране, тогда он показывает на Frontend. p>
Я делал это, выбирая все продукты, извлекая их и обновляя значение их атрибута: < /p>
$options = Mage::getSingleton('eav/config')->getAttribute('catalog_product', 'bracket_size')->getSource()->getAllOptions(false);
$option18mmId = $options[0]['value'];
foreach (Mage::getModel('catalog/product')->getCollection() as $product) {
// Get a writable product
$product = Mage::getModel('catalog/product')->load($product->getId());
// All products in these attribute sets should have bracket sizes
$bracketSizeValue = $product->getBracketSize(); // string containing option IDs - something like '645,345'
if (isset($bracketSizeValue)) {
// Get options currently selected for this product
$optionIds = explode(',', $bracketSizeValue);
// Check if the option is already included in this product
if (!in_array($option18mmId, $optionIds)) {
// If not, rebuild the attribute value to add it
array_unshift($optionIds, $option18mmId);
// Add it back to the product
$product->setData('bracket_size', implode(',', $optionIds));
$product->save();
}
}
}
< /code>
Но это не работает. Он бросает ошибку: < /p>
Warning: Invalid argument supplied for foreach() in /.../public/app/code/core/Mage/Eav/Model/Entity/Abstract.php on line 1068
< /code>
at $ product-> save () < /code> line. < /p>
Как я могу это сделать ?
Подробнее здесь: https://stackoverflow.com/questions/133 ... ade-script
Magento Добавить новое значение выбора значения/опция в продукты со скриптом обновления ⇐ Php
Кемеровские программисты php общаются здесь
1740527994
Anonymous
Я хочу сделать новую опцию «Выбрать атрибут», видимой во всех продуктах. < /p>
У меня есть продукты, каждый из которых использует атрибут выбора под названием «Cracket_size». Этот атрибут имеет три варианта:
< /p>
(/admin/catalog_product_attribute/edit/)
Большинство из Продукты имеют только два из этих параметров:
(/admin/catalog_product/edit/)
Если я выберите «18 мм» на этом экране, тогда он показывает на Frontend. p>
Я делал это, выбирая все продукты, извлекая их и обновляя значение их атрибута: < /p>
$options = Mage::getSingleton('eav/config')->getAttribute('catalog_product', 'bracket_size')->getSource()->getAllOptions(false);
$option18mmId = $options[0]['value'];
foreach (Mage::getModel('catalog/product')->getCollection() as $product) {
// Get a writable product
$product = Mage::getModel('catalog/product')->load($product->getId());
// All products in these attribute sets should have bracket sizes
$bracketSizeValue = $product->getBracketSize(); // string containing option IDs - something like '645,345'
if (isset($bracketSizeValue)) {
// Get options currently selected for this product
$optionIds = explode(',', $bracketSizeValue);
// Check if the option is already included in this product
if (!in_array($option18mmId, $optionIds)) {
// If not, rebuild the attribute value to add it
array_unshift($optionIds, $option18mmId);
// Add it back to the product
$product->setData('bracket_size', implode(',', $optionIds));
$product->save();
}
}
}
< /code>
Но это не работает. Он бросает ошибку: < /p>
Warning: Invalid argument supplied for foreach() in /.../public/app/code/core/Mage/Eav/Model/Entity/Abstract.php on line 1068
< /code>
at $ product-> save () < /code> line. < /p>
Как я могу это сделать ?
Подробнее здесь: [url]https://stackoverflow.com/questions/13310493/magento-add-new-select-value-option-to-products-with-upgrade-script[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия