Ich habe ziemlich große Import-Skript erstellt, die Produkte von CSV zu Magento importiert. Ich habe noch ein Problem zu lösen.Einstellung Magento Dropdown (Auswahl) Wert für Produkt
Ich verwende Dropdown-Felder für Attribute. Leider kann ich für diese Attribute keine Werte für ein einzelnes Produkt festlegen. Was ich tat:
- erstellt Attribut [php],
- hinzugefügt Drop-Down-Attribut mit Werten zu diesem Set [php],
- neues Produkt in der richtigen Attribute hinzugefügt und versuchte, Wert für das Attribut festlegen Ich habe erschaffen.
Ich habe versucht, einige Methoden, hier ist die one gut für mich suchen:
private function setOrAddOptionAttribute($product, $arg_attribute, $arg_value) {
$attribute_model = Mage::getModel('eav/entity_attribute');
$attribute_options_model = Mage::getModel('eav/entity_attribute_source_table');
$attribute_code = $attribute_model->getIdByCode('catalog_product', $arg_attribute);
$attribute = $attribute_model->load($attribute_code);
$attribute_options_model->setAttribute($attribute);
$options = $attribute_options_model->getAllOptions(false);
// determine if this option exists
$value_exists = false;
foreach($options as $option) {
if ($option['label'] == $arg_value) {
$value_exists = true;
break;
}
}
// if this option does not exist, add it.
if (!$value_exists) {
$attribute->setData('option', array(
'value' => array(
'option' => array($arg_value,$arg_value)
)
));
$attribute->save();
}
$product->setData($arg_attribute, $arg_value);
$product->save();
}
Leider funktioniert es nicht. Irgendwelche Ideen? Ich bin mit Magento 1.7.0.2
überprüfen diese, vielleicht hilft es. http://magento.stackexchange.com/a/7146/146 – Marius
Versuchen Sie, die 2 Operationen zu trennen: Erstellen Sie zuerst alle erforderlichen Attributoptionen, und weisen Sie dem Produkt das Optionsattribut zu. – OSdave