我是Magento的初学者,我使用的是Magento1.9 CE, 我想以编程方式在目录/产品中添加属性。 我的意思是,我想在橙色框中看到它,我在
上突出显示我在magento / app / code / core / Mage / Catalog / etc / config.xml文件中更改版本
`<modules>
<Mage_Catalog>
<version>1.6.0.0.19.1.15</version>
</Mage_Catalog>
</modules>`
我添加此文件/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
));
当我刷新添加产品页面时,在数据库core_resource
表中,catalog_setup版本更改为1.6.0.0.19.1.15但是没有任何内容发生在eav_attribute
如何在eav_attribute表中添加“促销”?
答案 0 :(得分:1)
您不应该更改核心模块中的任何内容。 首先,您需要在magento中创建一个本地模块,然后才能以编程方式添加产品属性。这是添加属性的正确方法。
此链接可帮助您创建产品属性
如果您不知道在magento中创建新模块,请参阅此URL
http://inchoo.net/magento/programming-magento/magento-hello-world-module-extension/
如果您需要进一步的帮助,请问我。
答案 1 :(得分:0)
Step1:首先创建一个php文件。
Step2:在文件中写下代码。
<?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();
?>
步骤3:将此文件放在root上并通过url运行此文件。然后创建产品属性。</ p>