在magento
中,由于使用了强大的EAV设计方法,我们可以很方便的给商品添加任意数量的属性。然而magento
没有给我们提供给商品分类添
加属性的功能。尽管我们知道magento所采用的EAV设计方法是完全可以实现的,但是我们又该如何才能给magento
的商品分类添加一个属性呢?比
如我们想基于产品分类添加一些属性使之应用于产品,或者用来区分产品分类等。
如果不通过magento
的方式,直接通过操作数据库,可以按照以下步骤来添加:
step 1,向eav_attribute表插入一条记录。作用是定义一个新属性,并指定这个属性属于商品分类category。先找出magento
商品分类(category entity)对应的entity_type_id,并确定好attribute_cod,
backend_type,
frontend_input,
frontend_label,
default_value,
source_mode的值。如果不确定某个字段应该使用什么
值,可以参考一个商品分类其它属性的值来设定。
NSERTINTOeav_attribute
(
entity_type_id
,
attribute_code
,
backend_type
,
frontend_input
,
frontend_label
,
default_value
,
source_model
)
VALUES
(
3
,
'category_featured'
,
'int'
,
'select'
,
'FeaturedCategory'
,
''
,
'eav/entity_attribute_source_boolean'
);
注意:一定要确认正确的
entity_type_id,不要照搬上面的sql语句,如果不太熟悉可以直接使用phpmyadmin,尽量参照商品分类其它属性的值。
仅仅这一句只是给分类添加了新增的属性,但是那些已经创建的分类是不会有这些属性的,为了让这些分类有新增的属性,还需要向magento的另一个
表中插入一条记录。
Step 2,向eav_entity_attribute插入一条记录。其中
entity_type_id和上面得到的是一样的,attribute_id则是上面新插入记录的ID,sort_order则是这个属性在这个属性组
中排序的序号。attribute_set_id属性集的ID,attribute_group_id是属性分组的ID。一样的,如果你不能完全确认相应
字段的值,可以通过参考商品分类其它属性的值来确定。
INSERT INTO eav_entity_attribute ( entity_type_id, attribute_set_id,
attribute_group_id, attribute_id, sort_order ) VALUES ( 3, 3, 3,
<new attribute ID>, <next sort order> )
这样你就给magento的商品分类(category)添加了一个新属性,而且已经添加完的分类也会这个新增属性。
那我们如何,才能在magento模板中,或者magento的model,helper,controller的类代码中获取到这个属性的值呢?
得益于magento强大的setter,getter,你可以直接使用$category->getAttribute_name()来获取这个
属性的值。
出处:http://blog.csdn.net/xinhaozheng/archive/2009/07/30/4395564.aspx
分享到:
相关推荐
深入理解Magento-第八章 – 深入自定义Magento系统配置(未完成) 深入理解Magento-第九章 – 修改、扩展、重写Magento代码 深入理解Magento-第十章 – 数据操作&数据收集器 在Magento教程中用到的模块 ...
magento-ce-2.4.0_sample_data-2020-07-26-02-51-57.tar.gz Include sample data
Magento是一款强大的开源电子商务平台,专为在线商家设计,提供丰富的功能和高度的可定制性。本教程将深入探讨Magento的使用、配置以及开发实践,帮助读者掌握这一强大的系统。 一、Magento的基础架构与安装 ...
magento-ce-2.4.0-2020-07-24-11-15-38.tar.gz 不带sample data
3. **强大的商品管理**:提供了详细的商品分类、属性和选项设置,支持多种促销规则,如优惠券、折扣、组合销售等。 4. **SEO优化**:内置了搜索引擎优化工具,如自定义URL、元标签、重写规则等,帮助提高网站在搜索...
Magento-Redismanager, 在 Magento,用于Redis的超级用户控制 Redis 管理Redis服务的实用程序特性系统> 配置>的自动或者手动配置高级> Redis管理在负载均衡环境中缓存服务不同的理想情况直接从magento面板管理员管理...
本文将深入探讨如何使用Magento的批量上传多图和添加自定义属性功能,以及对应插件的使用方法。 批量上传多图是提高效率的关键,尤其在拥有大量商品的商店中。Magento 1.4和1.5+版本都提供了这样的功能,允许商家一...
"magento-演示数据1.6.1.0"是一个专门为Magento 1.6.1.0版本准备的示例数据包,它包含了用于演示和测试 Magento 商店功能的各种数据,如产品、类别、顾客、订单等。 该压缩包文件“magento-sample-data-1.6.1.0”...
"Magento-SMTP-Pro-Email-Extension"是一个专业的SMTP扩展,提供了一系列高级功能。以下是该插件的一些核心特性: 1. **多SMTP配置**:商家可以根据不同的业务需求配置多个SMTP服务器,比如用于测试和正式环境。 2...
将自定义属性添加到Magento类别 用于将自定义属性添加到Magento类别的模块。 我已经设置了位于app / code / local / Samuidavid / CustCatAttr / sql / custcatattr_setup中的安装脚本,以将新的图像输入字段添加到...
这个“magento-java-master.zip_magento”压缩包可能是为了提供一个Java连接Magento源码的示例或者库,帮助开发者实现Java与Magento系统的交互。 在Java中与Magento进行交互通常涉及到以下几个关键知识点: 1. **...
这个7z压缩包“magento-1.7.0.7z”包含了用于安装Magento 1.7.0的所有必要文件,而“magento-1.7.0.2.tar”可能是该版本的一个特定更新或备份文件。 在深入探讨Magento 1.7.0的知识点之前,我们首先要了解它为何...
因为国外网速太慢了,所以下载后分享给需要的人。magento-ce-2.4.2-p1-2021-04-22-10-49-09
- 缓存:Redis可以存储 Magento 的页面内容、产品信息、分类等,减少对数据库的直接查询,加快页面加载速度。 - Session管理:将用户的会话信息存储在Redis中,避免了传统文件或数据库存储带来的性能瓶颈。 - ...
这个标题"magento-1.9.1.1-2015-04-30-12-49-08"指的是Magento的一个特定版本,即1.9.1.1,发布于2015年4月30日,具体时间是12:49:08。这个版本包含了该阶段Magento系统的所有更新、修复和增强功能。 Magento 1.9....
在Magento 2站点内安装要在您的Magento 2项目中使用,可以使用: composer require --dev magento/magento-coding-standard 出于安全考虑,以这种方式安装时,无法自动添加phpcs的Magento标准。 您可以通过将以下...
标题中的"PyPI 官网下载 | magento-0.6dev.tar.gz"指的是Python Package Index(PyPI)上的一个项目,它是一个名为"Magento"的软件包的特定版本,即0.6dev。PyPI是Python开发者发布和分享他们自己创建的Python库或...
Ajax-Magento-ajax-add-to-cart.zip,[模块magento 1]magento ajax添加到购物车-ajoter vos produits au panier en ajax/感谢ajax将您的产品添加到购物车,ajax代表异步javascript和xml。它是多种web技术的集合,包括...
Magento-CE-2.3.4_sample_data-2020-01-22-11-11-58.tar.gz源自官网
2. **获取自定义属性**:通过`eav_attribute`和`catalog_eav_attribute`找到与产品关联的自定义属性,如属性代码、属性组等。 3. **连接属性值**:根据产品ID连接`catalog_product_entity_*`系列表,如`_varchar`、`...