Fügen Sie der Upgrade-Skriptdatei den folgenden Code hinzu
<?php
$installer = new Mage_Eav_Model_Entity_Setup('core_setup');
$installer->startSetup();
$attributeCode = 'manufacturer';
$attribute = Mage::getModel('eav/entity_attribute')->loadByCode('catalog_product', $attributeCode);
if ($attribute->getId() && $attribute->getFrontendInput()=='select') {
$option['attribute_id'] = $attribute->getId();
$option['value'] = array('Red','Black', 'Yellow');
$installer->addAttributeOption($option);
}
//OR
/*
if($attribute->getId() && $attribute->getFrontendInput()=='select') {
$option['attribute_id'] = $attribute->getId();
$option['value']['r'][0] = 'Red';
$option['value']['b'][1] = 'Black';
$option['value']['y'][2] = 'Yellow';
$installer->addAttributeOption($option);
}*/
$installer->endSetup();
Überprüfen Sie den doppelten Optionswertcode:
<?php
$installer = new Mage_Eav_Model_Entity_Setup('core_setup');
$installer->startSetup();
$attributeCode = 'manufacturer';
$attribute = Mage::getModel('eav/entity_attribute')->loadByCode('catalog_product', $attributeCode);
if($attribute->getId() && $attribute->getFrontendInput()=='select') {
$newOptions = array('Red','Black', 'Yellow');
$exitOptions = array();
$options = Mage::getModel('eav/entity_attribute_source_table')
->setAttribute($attribute)
->getAllOptions(false);
foreach ($options as $option) {
if (in_array($option['label'], $newOptions)) {
array_push($exitOptions, $option['label']);
}else {
}
}
$insertOptions = array_diff($newOptions, $exitOptions);
if(!empty($insertOptions)) {
$option['attribute_id'] = $attribute->getId();
$option['value'] = $insertOptions;
$installer->addAttributeOption($option);
}
}
$installer->endSetup();
'r'
,'b'
,'y'
in$option['value']['r'][0] = 'Red';
?eav_attribute_option
erhält eine neue Zeile, jedoch ohne entsprechende Zeileeav_attribute_option_value
. Muss etwas mit der$option
Array-Struktur sein.Versuche dies,
für Einzelwert: -
für mehrere Werte: -
'any_option_name' wäre ein color_name (zB: red) arg_value wäre eine ganzzahlige optionId afaik.
Das, was auch zuerst erworben werden müsste, ist die nächste nicht verwendete Options-ID. Wird für diese neue Attributoption verwendet.
quelle
Zum Beispiel wollen Sie hinzufügen
Men
Wertgender
Option.Zuerst müssen Sie Ihr Upgrade-Skript im Modulverzeichnis erstellen, z
app/code/local/MyCompany/MyModule/data/mymodule_setup/data-upgrade-0.1.0-0.1.1.php
.Dann füllen Sie es mit Code wie folgt:
quelle
Der folgende Code fügt Attribute programmgesteuert magento 1 hinzu.
Ausführliche Erläuterungen zum Lesen aus CSV und zum Vergleichen mit vorhandenen Attributoptionen finden Sie unter https://www.pearlbells.co.uk/add-attribute-options-magento-scripts/.
quelle