J'installe l'attribut avec le script suivant:
$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();
A également essayé avec $installer = new Mage_Catalog_Model_Resource_Eav_Mysql4_Setup('core_setup');
Et puis j'utilise la valeur de l'attribut dans un autre code. Mais je reçois toujours null
. J'ai découvert que l'attribut ne reçoit pas de valeur par défaut. Lorsque j'ouvre un produit - la liste déroulante s'affiche No
, mais lorsque j'obtiens sa valeur dans le code, c'est null
. Si je clique simplement sur la liste déroulante, il suffit de définir No
et d'enregistrer le produit - tout fonctionne.
Comment surmonter cela?
Réponses:
Essayez de définir la valeur par défaut sous forme de chaîne
ou vide
Mettre à jour
Les valeurs par défaut sont ajoutées lorsque vous ajoutez un nouveau produit pour les anciens qu'il n'affecte pas.
Essayez de résoudre ce problème dans la gestion des produits avec une action de masse
À l'intérieur de la gestion des produits, il existe une action appelée «Mettre à jour les attributs». Sélectionnez tous les produits que vous souhaitez mettre à jour, puis sélectionnez Mettre à jour les attributs et ajoutez toutes les nouvelles informations dans.
la source
Vous devez définir manuellement la valeur de toutes les entités existantes:
source: /programming/4906497/default-attribute-value-for-all-product-in-magento . Voir la réponse d'Asrar Malik.
la source
J'ai eu le problème avec les extraits de code ci-dessus, un attribut de sélection a été créé au lieu d'un attribut oui / non. Pour résoudre ce problème, j'ai dû utiliser
au lieu de:
la source
Je n'ai pas pu ajouter une valeur par défaut 0 à un attribut oui / non également.
J'ai donc utilisé un événement pour ajouter la valeur par défaut 0
Méthode:
la source
Pour ajouter un attribut personnalisé oui / non au module de création magento comme indiqué ci-dessous.
http://www.pearlbells.co.uk/how-to-add-custom-attribute-dropdown-to-category-section-magento/
la source