magento -- 如何为商品分类(category)添加自定义属性

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的值。如果不确定某个字段应该使用什么 值,可以参考一个商品分类其它属性的值来设定。

NSERT INTO eav_attribute
( entity_type_id ,  attribute_code ,  backend_type ,  frontend_input ,  frontend_label , default_value ,  source_model )
VALUES
( 3 ,  ‘category_featured‘ ,  ‘int‘ ,  ‘select‘ ,  ‘Featured Category‘ ,  ‘‘ , ‘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

时间: 2024-10-12 19:34:15

magento -- 如何为商品分类(category)添加自定义属性的相关文章

iOS runtime探究(四): 从runtiem开始实践Category添加属性与黑魔法method swizzling

你要知道的runtime都在这里 转载请注明出处 http://blog.csdn.net/u014205968/article/details/67639335 本文主要讲解runtime相关知识,从原理到实践,由于包含内容过多分为以下五篇文章详细讲解,可自行选择需要了解的方向: 从runtime开始: 理解面向对象的类到面向过程的结构体 从runtime开始: 深入理解OC消息转发机制 从runtime开始: 理解OC的属性property 从runtime开始: 实践Category添加属

Java编程:向枚举添加自定义属性(用for-each循环来打印每种苹果的名称和价格)

package 枚举; //向枚举添加自定义属性 enum Apple { AURORA(10),BELMAC(12),CORTLAND(15),EMPIRE(8),GRAVENSTEIN(11); private int price; //构造方法 Apple(int price) { this.price = price; } int getPrice() { return price; } } public class ApplesEnum { public static void mai

Jquery获取select option动态添加自定义属性值失效

Jquery获取select option动态添加自定义属性值失效 2014/12/31 11:49:19 中国学网转载 编辑:李强 http://www.xue163.com/588880/39096/390963333.html 为了帮助网友解决“Jquery获取select optio”相关的问题,中国学网通过互联网对“Jquery获取select optio”相关的解决方案进行了整理,用户详细问题包括:jqueryselectie9  function GetFenceItemData(

添加自定义属性值及应用

添加自定义属性值: 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>无标题文档</title> 6 <script> 7 window.onload = function (){ 8 var aBtn =

dedecms:织梦文章如何添加“自定义属性”标签(sql命令行工具)

dede织梦如何添加“自定义属性”标签“症状” 1.进入后台——系统——SQL命令行工具——运行SQL命令行,添加arcatt表字段: insert into`dede_arcatt`(sortid,att,attname) values(9,'d','症状') 2.添加archives表字段: alter table `dede_archives` modify `flag` set ('h','c','p','f','s','j','a','b','d') default NULL     

JavaScript: 高级技巧: window 对象也可以添加自定义属性

JavaScript: 高级技巧: window 对象也可以添加自定义属性 例如 window.ntName = 'a';例如 window.ntXw = top; 优点是, window 无须等加载完毕, 任何时候都可以调用, 如果是页面元素和变量, 就需要小姐加载完毕才能使用 例如在 lhg: 中 父页面dlg_XXX.ShowDialog(); dlg_XXX.inwin.nt调用父窗口 = window; 子页面alert( window.nt调用父窗口.location.href );

给html元素添加自定义属性,并且用jquery进行筛选

例如有多个div,想要实现类似radio的效果. <div name="teacher" selected="selected">tch1</div> <div name="teacher">tch1</div> <div name="teacher">tch1</div> <div name="student">stu1&

OpenLDAP添加自定义objectClass实现添加自定义属性

最近使用到OpenLDAP,需要集成进系统.但是OpenLDAP本身的模板中,能用的属性太少了,无法满足正常的业务需求,因此需要对条目的属性进行扩展. 确定的思路是新增自定义的objectClass,条目的objectClass添加该objectClass之后就可以合法添加自定义属性了(支持PhpLdapAdmin和ApacheDirectoryStudio等可视化工具) 但是能找到的相关的内容比较少,查到的比较多的也是直接添加schema然后在slapd.conf中引入.在服务器上试了一下(O

Magento给新产品页面添加分页

本文介绍如何让magento创建一个带分页功能的新到产品页面,方便我们在首页或者其它CMS Page调用和展示新到产品. 在Magento我们经常有的做法是建立一个可以调用新产品的block,然后通过: {{block type="catalog/product_new" column_count="6" products_count="100" name="home.catalog.product.new" alias=&q