`
kirenenko04
  • 浏览: 150970 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

Magento create new product attribute and create new attribute group

add 
阅读更多

1.add new product attribute

<?php 
//增加一个是否预售的属性,到所有商品
$installer = $this;
/* @var $installer Mage_Core_Model_Resource_Setup */

$installer->startSetup();

$objCatalogEavSetup = Mage::getResourceModel('catalog/eav_mysql4_setup', 'core_setup');

//添加jd URL
$attrCode = 'jd_url';
$label = 'JD Url';
$attrIdTest = $objCatalogEavSetup->getAttributeId(Mage_Catalog_Model_Product::ENTITY, $attrCode);
if ($attrIdTest === false) {
	$this->addAttribute( Mage_Catalog_Model_Product::ENTITY, $attrCode, array(
			'sort_order' => 8,
			'type' => 'varchar',
			'backend' => '',
			'frontend' => '',
			'label' => $label,
			'input' => 'text',
			'source' => 'eav/entity_attribute_source_table',
			'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
			'visible' => true,
			'required' => false,
			'user_defined' => true,
			'default' => '',
			'searchable' => false,
			'filterable' => false,
			'comparable' => false,
			'visible_on_front' => true,
			'visible_in_advanced_search' => false,
			'used_in_product_listing' => true,
			'used_for_promo_rules'=>false,
			'unique' => false,
	) );
}

//添加AMAZON URL
$attrCode = 'amazon_url';
$label = 'Amazon Url';
$attrIdTest = $objCatalogEavSetup->getAttributeId(Mage_Catalog_Model_Product::ENTITY, $attrCode);
if ($attrIdTest === false) {
	$this->addAttribute( Mage_Catalog_Model_Product::ENTITY, $attrCode, array(
			'sort_order' => 9,
			'type' => 'varchar',
			'backend' => '',
			'frontend' => '',
			'label' => $label,
			'input' => 'text',
			'source' => 'eav/entity_attribute_source_table',
			'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
			'visible' => true,
			'required' => false,
			'user_defined' => true,
			'default' => '',
			'searchable' => false,
			'filterable' => false,
			'comparable' => false,
			'visible_on_front' => true,
			'visible_in_advanced_search' => false,
			'used_in_product_listing' => true,
			'used_for_promo_rules'=>false ,
			'unique' => false,
	) );
}

$installer->endSetup();

 2. add attribute group and append new attribute to it.

<?php 
//增加一个是否预售的属性,到所有商品
$installer = $this;
/* @var $installer Mage_Core_Model_Resource_Setup */

$installer->startSetup();
$setup = new Mage_Eav_Model_Entity_Setup('core_setup');

//$attribute_set_name = 'your attribute set name here';
$group_name = 'External Website Link';
$attribute_code_arr = array('jd_url', 'amazon_url');


//add group to all attribute set 
//get the type ID of the product - you will need it later
$entityTypeId = Mage::getModel('catalog/product')->getResource()->getTypeId();
//get all attribute sets
$sets = Mage::getModel('eav/entity_attribute_set')
->getResourceCollection()
//filter only sets for products - that's why you needed the product type ID
->addFilter('entity_type_id', $entityTypeId);
//loop through all the sets
foreach ($sets as $set){
	//create an attribute group instance
	$modelGroup = Mage::getModel('eav/entity_attribute_group');
	//set the group name
	$modelGroup->setAttributeGroupName($group_name) //change group name
	//link to the current set
	->setAttributeSetId($set->getId())
	//set the order in the set
	->setSortOrder(100);
	//save the new group
	$modelGroup->save();
}

$attributeSetCollection = Mage::getResourceModel('eav/entity_attribute_set_collection')->load();
foreach ($attributeSetCollection as $id=>$attributeSet) {
	$attribute_set_name = $attributeSet->getAttributeSetName();
	foreach ($attribute_code_arr as $attribute_code) {
		$attribute_set_id=$setup->getAttributeSetId('catalog_product', $attribute_set_name);
		$attribute_group_id=$setup->getAttributeGroupId('catalog_product', $attribute_set_id, $group_name);
		$attribute_id=$setup->getAttributeId('catalog_product', $attribute_code);
		$setup->addAttributeToSet('catalog_product',$attribute_set_id, $attribute_group_id, $attribute_id);
	}
	
}

$installer->endSetup();

 

分享到:
评论

相关推荐

    Create new module “HelloWorld” – in Magento

    在Magento这个强大的电子商务平台上,创建一个新的模块是扩展其功能的基础步骤。本文将深入探讨如何创建一个名为“HelloWorld”的模块,这是一个经典的入门级任务,旨在帮助开发者熟悉Magento的架构和模块化开发流程...

    magento2-attribute-description:Magento 2模块,用于向产品属性添加描述

    Magento 2的Dmatthew_AttributeDescription模块这是一个Magento 2模块,它增加了向产品属性添加描述的功能。 将描述添加到可配置属性,并将其显示在您的产品视图页面上。 使用属性描述可以帮助向客户解释复杂的属性...

    magento首页New Pro产品显示数目、列数

    ### Magento首页New Pro产品显示数目、列数解析 在电子商务平台开发与维护的过程中,Magento作为一个功能强大且灵活的开源系统,被广泛应用于构建各种规模的在线商店。本篇文章将深入探讨如何通过配置来控制Magento...

    Magento 1.8版本下eav模型demo

    此代码仅供参考没有后台管理表格1.8版本下可用 ...2.eav_attribute,eav_attribute_group,eav_attribute_set,eav_entity_attribute,eav_entity_type 每个表多一条数据。 作者网站:http://www.sharpmagento.com/

    Magento 2 Beginners Guide

    You’ll start by getting a general understanding of what Magento is, why and how you should use it, and whether it is possible and feasible to migrate from an old web store to Magento 2. As you work ...

    Magento 2 Cookbook

    Chapter 1, Installing Magento 2 on Apache and NGINX, is a...new methods introduced in the Magento 2 framework and examples on how to create basic functions. Chapter 8, Creating Magento 2 Extensions – Ad

    magento创建动态菜单 Create Dynamic CMS Navigation For Magento Frontend

    在这个主题中,“Create Dynamic CMS Navigation For Magento Frontend”指的是在Magento的前端生成可以根据CMS页面自动生成的动态菜单。 在Magento中,静态菜单通常是通过后台管理界面手动创建和维护的,而动态...

    Magento2 CookBook

    new methods introduced in the Magento 2 framework and examples on how to create basic functions. Chapter 8, Creating Magento 2 Extensions – Advanced, explains how to use advanced features in ...

    magento SQL常用命令

    - `UPDATE catalog_product_entity_int SET value=2 WHERE attribute_id=80 AND entity_id IN (SELECT product_id FROM cataloginventory_stock_status WHERE stock_status=0);` - `SET FOREIGN_KEY_CHECKS=1;` -...

    magento事件清单

    #### 2.9 `adminhtml_product_attribute_types` #### 2.10 `adminhtml_catalog_product_edit_prepare_form` #### 2.11 `adminhtml_catalog_product_edit_element_types` 这些事件主要涉及产品属性和编辑表单的准备...

    magento Extended Product Grid with Editor插件

    Magento "Extended Product Grid with Editor" 插件是一个针对Magento电子商务平台的专业增强工具,旨在提高管理员在后台处理产品数据的效率和便利性。该插件在Magento的官方商店售价99美元,表明其提供了高级功能和...

    magento产品名称及描述批量修改sql

    WHERE entity_id IN (SELECT entity_id FROM catalog_product_entity) AND attribute_id = 1; UPDATE catalog_product_entity_varchar SET value = '新的产品描述' WHERE entity_id IN (SELECT entity_id FROM ...

    magento官方文档翻译超好

    $product1 = new Product(array('name' =&gt; 'Product 1', 'price' =&gt; 100)); $product2 = new Product(array('name' =&gt; 'Product 2', 'price' =&gt; 200)); $collection = new ProductCollection(); $collection-&gt;...

    magento快速复制网站_magento_magento快速复制站_

    mysql -u [new_username] -p[new_password] new_magento_db ``` 这里,`new_username`和`new_password`是新服务器的数据库用户名和密码,`new_magento_db`是新数据库的名称。 接下来,需要修改Magento的配置文件...

    magento二次开发大全

    2. **EAV模型**:Entity-Attribute-Value(EAV)模型是Magento数据存储的关键特性,允许存储具有动态属性的商品信息。`EAV(E-V图 product为例).png`和`EAV模型.png`可能展示了如何通过EAV结构存储和检索商品数据。 ...

    magento2-customer-attribute-extension:Magento 2客户属性扩展

    这个"magento2-customer-attribute-extension"是一个示例项目,旨在教导开发者如何在Magento 2环境中创建和管理客户属性。 首先,创建客户属性涉及到以下几个关键步骤: 1. **定义属性**:在Magento 2中,你可以...

    Magento 1.4.2 简便生成订单函数

    ### Magento 1.4.2 简便生成订单函数详解 #### 一、引言 在Magento系统中,特别是1.4.2版本中,处理订单生成的过程相对较为复杂,尤其是在sales模块与checkout模块之间存在着较为紧密的关联。本文将详细介绍如何...

    m2_belvg_product-tabs-2.0.0.zip

    5. Flush cache php bin/magento cache:flush,...To activate the module log into the Magento admin panel and navigate to Stores -&gt; Configuration -&gt; BelVG Extensions -&gt; Product Tabs. General settings will...

    google-magento-product-feed:这是一个使用 Python 的通用谷歌产品提要,用于 Magento EAV 数据模式

    (支持的 Magento 版本 1.3、1.10 和 1.12) 脚本执行(如何使用) 此脚本采用一个参数,此参数特定于您使用的 Magento 版本。 基本语法: python product_feed.py &lt;magneto&gt; (Acceptable arugments --&gt; 1.3, ...

Global site tag (gtag.js) - Google Analytics