2017-07-01 1 views
0

Je suis débutant dans Magento, et j'ai utilisé Magento1.9 CE, Je veux ajouter un attribut, par programme, dans le catalogue/produit. Je veux dire, que je veux le voir dans la boîte orange, que je surligné surcomment ajouter un attribut par programme au produit dans magento1.9?

This Image

je change la version en magento/app/code/core/Mage/Catalogue/etc/config.xml

`<modules> 
    <Mage_Catalog> 
     <version>1.6.0.0.19.1.15</version> 
    </Mage_Catalog> 
</modules>` 

et ajouter ce fichier /magento/app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-data-upgrade-1.6.0.0.19.1.15.php

$installer = $this; 
$installer->startSetup(); 
$installer->addAttribute('catalog_product', 'promotion', array(
    'group'    => 'promotion', 
    'type'    => 'text', 
    'backend'   => 
    'catalog/product_attribute_backend_promotion', 
    'frontend'   => '', 
    'label'    => 'promotion', 
    'input'    => 'text', 
    'class'    => '', 
    'source'   => '', 
    'global'   => Mage_Eav_Model_Entity_Setup::SCOPE_GLOBAL, 
    'visible'   => true, 
    'required'   => false, 
    'user_defined'  => false, 
    'default'   => '', 
    'searchable'  => false, 
    'filterable'  => false, 
    'comparable'  => false, 
    'visible_on_front' => false, 
    'unique'   => false, 
    'apply_to'   => 'simple,virtual', 
    'is_configurable' => false 
)); 

quand je rafraîchi ajouter la page du produit, dans la base de données core_resource table, version de catalog_setup changé en 1.6.0.0.19.1.15 mais rien ne se passe à eav_attribute

Que dois-je faire pour ajouter 'promotion' dans la table eav_attribute?

Répondre

0

Etape 1: créez d'abord un fichier php.

Étape 2: écrire le code ci-dessous dans le fichier.

<?php 
require_once('app/Mage.php'); 
Mage::app()->setCurrentStore(Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID)); 
$installer = new Mage_Eav_Model_Entity_Setup('core_setup'); 
$installer->startSetup(); 
$installer->addAttribute('catalog_product', 'custom_att', array(
      'group'   => 'General', 
      'label'   => 'Custom att', 
      'input'   => 'text', 
      'type'   => 'varchar', 
      'required'  => 0, 
      'visible_on_front'=> 1, 
      'filterable'  => 0, 
      'searchable'  => 0, 
      'comparable'  => 0, 
      'user_defined' => 1, 
      'is_configurable' => 0, 
      'global'   => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL, 
      'note'   => '', 
)); 
$installer->endSetup(); 
?> 

Étape 3: mettez ce fichier à la racine et exécutez ce fichier par url. Les attributs de produit sont ensuite créés.

0

Vous ne devriez rien changer à partir des modules de base. Vous devez d'abord créer un module local dans Magento, vous seul pouvez ajouter un attribut de produit par programmation. C'est la bonne façon d'ajouter un attribut.

Ce lien peut vous aider à créer des attributs des produits

http://inchoo.net/magento/programatically-create-attribute-in-magento-useful-for-the-on-the-fly-import-system/

https://magento.stackexchange.com/questions/162595/programmatically-add-custom-product-attribute-to-attribute-set

Si vous n'êtes pas au courant de créer un nouveau module signifie magento renvoyer cette URL

http://inchoo.net/magento/programming-magento/magento-hello-world-module-extension/

Si vous avez besoin d'aide supplémentaire, demandez-moi.