L'ajout des attributs des produits dans Magento à l'aide du script d'installation
Je suis à l'aide du module de script d'installation pour ajouter de nouveaux attributs de groupe, ensemble d'attributs et les attributs. Je suis en mesure de créer l'attribut, attribut de groupe et ajouter des produits à groupe/set. Mais je vais avoir dur de réglage de l'heure is_filterable, is_visible, is_visible_on_front et is_html_allowed_on_front paramètres.
$installer->addAttribute('catalog_product', 'offer_type', array(
'backend' => '',
'frontend' => '',
'class' => '',
'default' => '',
'label' => 'Offer type',
'input' => 'text',
'type' => 'int',
'source' => '',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
'visible' => 1,
'required' => 1,
'searchable' => 0,
'filterable' => 1,
'unique' => 0,
'comparable' => 0,
'visible_on_front' => 1,
'is_html_allowed_on_front' => 1,
'user_defined' => 1,
));
$installer->addAttributeToSet('catalog_product', $sSetId, $groupName, 'offer_type');
Je vois offer_type s'ajouter à Magento et d'attribut($sSetID) et de groupe ($groupname). Mais quand je regarde attribut de magento administrateur de l'INTERFACE utilisateur (Catalogue->attributs->Gérer les Attributs), je vois is_filterable, is_visible, is_visible_on_front et is_html_allowed_on_front paramètres définie sur Non. J'ai essayé plusieurs combinaisons mais pas de chance. Je suis en utilisant Magento CE 1.7.0.2. Je ne suis pas sûr de ce qui est absent dans mon script d'installation. J'ai désigné http://blog.chapagain.com.np/magento-adding-attribute-from-mysql-setup-file/ pour cela. Ai-je raté quelque chose?
Merci à l'avance.
OriginalL'auteur sukkad | 2012-10-17
Vous devez vous connecter pour publier un commentaire.
Vous avez correctement configuré votre installateur dans votre config.xml ? La classe standard de magento installateurs est
Mage_Eav_Model_Entity_Setup
mais lorsque vous traitez avec des produits, vous aurez besoin d'utiliserMage_Catalog_Model_Resource_Setup
à la place.Pourquoi ? regardez leur méthode
_prepareValues()
et vous comprendrez ce que sont les attributs autorisés (produits ont plus d'options que la norme eav_objects, vous pouvez voir que lorsque l'on compare les tableauxeav_attribute
etcatalog_eav_attribute
)Pour pointer vers le bon installateur de classe, prendre un coup d'oeil à la norme
Mage_Catalog
config.xml
et de l'adapter pour votre module :ps: notez que la
_prepareValues()
méthode est appelée lors de l'ajout d'un attribut... si vous voulez mettre à jour un attribut, vous devez utiliser l'option complète (nom de"is_visible" et pas seulement "visible")...Un autre hack serait d'ajouter ces attributs par la suite, mais c'est pas très beau:
Aucune idée de comment mettre en is_visible_on_front? Même si je suis un réglage à 1 dans addAttribute (appel'is_visible_on_front'=>1, je ne vois pas ce que ça va changé en DB/admin.
OriginalL'auteur Cétia
Utilisation
'visible_on_front' => 1
, dansaddAttribute
appel.OriginalL'auteur kozlodojeff