Ich installiere das Attribut mit dem folgenden Skript:
$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();
Auch mit versucht $installer = new Mage_Catalog_Model_Resource_Eav_Mysql4_Setup('core_setup');
Und dann verwende ich den Wert des Attributs in einem anderen Code. Aber ich bekomme immer null
. Ich habe herausgefunden, dass für das Attribut kein Standardwert festgelegt wird. Wenn ich ein Produkt öffne No
, wird das Dropdown-Menü angezeigt , aber wenn ich den Wert im Code erhalte , ist dies der Fall null
. Wenn ich nur auf die Dropdown-Liste klicke, einfach No
das Produkt einstellen und speichern - alles funktioniert.
Wie kann man das überwinden?
Antworten:
Versuchen Sie, den Standardwert als Zeichenfolge festzulegen
oder leer
Aktualisieren
Die Standardwerte werden hinzugefügt, wenn Sie ein neues Produkt für ein altes hinzufügen, das nicht betroffen ist.
Versuchen Sie, dies im Produktmanagement mit Massenaktionen zu beheben
Innerhalb von Produkten verwalten gibt es eine Aktion namens "Attribute aktualisieren". Wählen Sie alle Produkte aus, die Sie aktualisieren möchten, und wählen Sie dann Attribute aktualisieren aus, und fügen Sie alle neuen Informationen hinzu.
quelle
Sie sollten den Wert für alle vorhandenen Entitäten manuell festlegen:
Quelle: /programming/4906497/default-attribute-value-for-all-product-in-magento . Siehe Asrar Maliks Antwort.
quelle
Ich hatte das Problem, dass mit den obigen Codefragmenten ein Auswahlattribut anstelle eines Ja / Nein-Attributs erstellt wurde. Um dies zu beheben, musste ich verwenden
anstatt:
quelle
Ich konnte einem Ja / Nein-Attribut auch keinen Standardwert 0 hinzufügen.
Daher habe ich ein Ereignis verwendet, um den Standardwert 0 hinzuzufügen
Methode:
quelle
Zum Hinzufügen eines benutzerdefinierten Ja / Nein-Attributs zum Magento-Erstellungsmodul wie unten gezeigt.
http://www.pearlbells.co.uk/how-to-add-custom-attribute-dropdown-to-category-section-magento/
quelle