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

Magento – Programmatically insert new attribute option

 
阅读更多
	/**
	 * check attribute value exits or not
	 * @param unknown $arg_attribute
	 * @param unknown $arg_value
	 * @return unknown|boolean
	 */
	public function attributeValueExists($arg_attribute, $arg_value)
	{
		$attribute_model        = Mage::getModel('eav/entity_attribute');
		$attribute_options_model= Mage::getModel('eav/entity_attribute_source_table') ;
	
		$attribute_code         = $attribute_model->getIdByCode('catalog_product', $arg_attribute);
		$attribute              = $attribute_model->load($attribute_code);
	
		$attribute_table        = $attribute_options_model->setAttribute($attribute);
		$options                = $attribute_options_model->getAllOptions(false);
	
		foreach($options as $option)
		{
			if ($option['label'] == $arg_value)
			{
				return $option['value'];
			}
		}
	
		return false;
	}
	/**
	 * add attribute value
	 * @param unknown $arg_attribute
	 * @param unknown $arg_value
	 * @return unknown|boolean
	 */
	
    public function addAttributeValue($arg_attribute, $arg_value)
    {
        $attribute_model        = Mage::getModel('eav/entity_attribute');

        $attribute_code         = $attribute_model->getIdByCode('catalog_product', $arg_attribute);
        $attribute              = $attribute_model->load($attribute_code);

        if(!$this->attributeValueExists($arg_attribute, $arg_value))
        {
            $value['option'] = array($arg_value,$arg_value);
            $result = array('value' => $value);
            $attribute->setData('option',$result);
            $attribute->save();
        }

		$attribute_options_model= Mage::getModel('eav/entity_attribute_source_table') ;
        $attribute_table        = $attribute_options_model->setAttribute($attribute);
        $options                = $attribute_options_model->getAllOptions(false);

        foreach($options as $option)
        {
            if ($option['label'] == $arg_value)
            {
                return $option['value'];
            }
        }
       return false;
    }

 

分享到:
评论

相关推荐

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

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

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

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

    Magento 自定义后台menu Insert dynamical menu in Magento’s Admin

    Magento是一款强大的开源电子商务平台,它的后台管理系统非常灵活且可扩展。在Magento的后台菜单中插入动态菜单是一项常见的自定义需求,这有助于商家根据自身业务需求定制管理界面。本篇文章将详细解析如何在...

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

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

    Magento-中文开发教程

    深入理解Magento-第一章 – Magento强大的配置系统 深入理解Magento-第二章 – Magento请求分发与控制器 深入理解Magento-第三章 – 布局,块和模板 深入理解Magento-第四章 – 模型和ORM基础 深入理解...

    Magento 2 Cookbook

    Chapter 1, Installing Magento 2 on Apache and NGINX, is a totally different ballgame compared to Magento 1. Where Magento 1 could be installed through FTP...Chapter 8, Creating Magento 2 Extensions – Ad

    magento 中文开发手册

    4. **模型和 ORM 基础**:介绍了 Magento 如何使用 Entity-Attribute-Value (EAV) 模型存储数据,并展示了如何操作这些模型。 5. **资源配置**:说明了 Magento 中的数据资源管理和数据库操作。 6. **高级模型**:...

    Create new module “HelloWorld” – in Magento

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

    magento二次开发大全

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

    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数据结构分析

    标题:“Magento数据结构分析” 描述:“Magento数据字典”提供了对Magento系统中各种数据库表的深入理解,这对于理解和优化Magento的性能至关重要。 一、Magento数据结构解析 Magento是一款功能强大的电子商务...

    magento数据库批量导出产品及自定义属性语句

    Magento将产品信息分散在多个数据库表中,主要包括`catalog_product_entity`作为主产品表,以及一系列以`_attribute`结尾的表来存储产品的不同属性。自定义属性则存储在`eav_attribute`、`eav_attribute_set`、`eav_...

    magento1.4.1.1

    在技术层面,Magento使用了EAV(Entity-Attribute-Value)模型,这使得数据库结构更加灵活,可以应对商品属性多样化的需求。同时,它采用MVC(Model-View-Controller)设计模式,使代码结构清晰,易于维护。 总之,...

    magento官方文档翻译超好

    ### Magento官方文档翻译超好——深入理解Magento数据层操作与数据封装 #### 一、引言 Magento是一款基于PHP的企业级电子商务平台,以其强大的功能、灵活性以及可扩展性著称。在Magento中,数据处理是一个核心组成...

    magento电子商城源码

    2. **数据库设计**:Magento的数据库设计复杂且全面,包括产品、订单、客户、分类等多个实体,通过EAV(Entity-Attribute-Value)模型处理大量可变属性,提高了数据存储的灵活性。 3. **模块化设计**:Magento采用...

    New Arrivals模块_magento_magento新品模块_bank15p_

    "New Arrivals模块"是Magento系统中的一个重要组件,它允许商家在网站的首页展示最新的产品,吸引顾客的关注,提高销售潜力。 该标题"New Arrivals模块_magento_magento新品模块_bank15p_"暗示了这是一个专门针对...

    Magento-SMTP-Email

    Magento是开源的电子商务平台,广泛用于在线商店的建设。SMTP(Simple Mail Transfer Protocol)是用于发送电子邮件的标准协议。在Magento中,SMTP插件扮演着关键角色,它允许商家通过更安全、可靠的SMTP服务器发送...

    magento入门学习资料

    Magento是一款强大的开源电子商务平台,以其高度可定制性和灵活性著称。作为一款基于PHP开发的系统,它为商家提供了丰富的功能,包括商品管理、订单处理、客户管理、营销工具等。以下将详细介绍`magento入门学习资料...

Global site tag (gtag.js) - Google Analytics