Я устанавливаю атрибут с помощью следующего скрипта:
$installer = $this;
$installer->startSetup();
$installer->removeAttribute('catalog_product', 'customizableonly');
$installer->addAttribute('catalog_product', 'customizableonly', array(
'group' => 'General',
'input' => 'select',
'type' => 'int',
'label' => 'Customizable Only',
'source' => 'eav/entity_attribute_source_boolean',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => 1,
'required' => 0,
'visible_on_front' => 0,
'is_html_allowed_on_front' => 0,
'is_configurable' => 0,
'searchable' => 0,
'filterable' => 0,
'comparable' => 0,
'unique' => false,
'user_defined' => false,
'default' => 0,
'is_user_defined' => false,
'used_in_product_listing' => true
));
$this->endSetup();
Также пробовал с $installer = new Mage_Catalog_Model_Resource_Eav_Mysql4_Setup('core_setup');
И тогда я использую значение атрибута в каком-то другом коде. Но я всегда получаю null
. Я обнаружил, что атрибут не получает значение по умолчанию. Когда я открываю продукт - выпадающий список показывает No
, но когда я получаю его значение в коде, это null
. Если я просто нажму на выпадающий список, просто установите No
и сохраните продукт - все работает.
Как это побороть?
Ответы:
Попробуйте установить значение по умолчанию в виде строки
или пустой
Обновить
Значения по умолчанию добавляются, когда вы добавляете новый продукт для старых, это не влияет.
Попытайтесь исправить это в управлении продуктом с помощью массовых действий
Внутри управления продуктами есть действие «Обновление атрибутов». Выберите все продукты, которые вы хотите обновить, затем выберите «Обновить атрибуты» и добавьте всю новую информацию в.
источник
Вы должны установить значение для всей существующей сущности вручную:
источник: /programming/4906497/default-attribute-value-for-all-product-in-magento . Смотрите ответ Асрара Малика.
источник
У меня была проблема с тем, что с фрагментами кода выше был создан атрибут select вместо атрибута yes / no. Чтобы исправить это, я должен был использовать
вместо:
источник
Я не смог добавить значение по умолчанию 0 к атрибуту да / нет тоже.
Поэтому я использовал событие, чтобы добавить значение по умолчанию 0
Метод:
источник
Для добавления пользовательского атрибута да / нет в модуль magento create, как показано ниже.
http://www.pearlbells.co.uk/how-to-add-custom-attribute-dropdown-to-category-section-magento/
источник