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-12-27 09:08:28

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

给category添加基本数据类型属性

给category添加基本数据类型属性     说明 通常,我们添加属性都是通过对象扩展来实现的,其实,我们也可以用runtime来添加基本数据类型的属性   源码 // // UIView+AnimationProperty.h // RuntimeCategory // // Created by YouXianMing on 15/7/8. // Copyright (c) 2015年 YouXianMing. All rights reserved. // #import <UIKit/

Magento中目录添加自定义属性代码

在根目录创建个脚本文件,内容:  代码如下 复制代码 require_once('app/Mage.php'); Mage::app()->setCurrentStore(Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID)); $installer = new Mage_Sales_Model_Mysql4_Setup; $attribute  = array(     'type' => 'in

dev schedulerControl控件 Appointment类如何添加自定义属性

问题描述 如题求助呀不知道该如何添加Appointment类,是DevExpress.XtraScheduler库的一个类我该怎么自定义属性

[原创]IssueVision 学习笔记(二)-----为控件添加自定义属性和事件

笔记|控件|原创 我们先来看看IssueVision中一个用户控件PaneCaption在可视化设计器中的属性窗口. 再看一下在另一个用户控件StaffPane中使用它时的属性窗口: 大家会发现它多出来很多个属性,这些属性是原来继承控件中没有的属性,如:InactiveTextColor,InactiveTextColor等等.它们是如何实现的呢?我们就来看一下这个用户控件的代码PaneCaption.cs吧. namespace IssueVision{ // Custom control t

自定义View添加自定义属性详细

自定义view经常需要设置一些属性, 很多人应该都知道,属性都是写在res/values文件夹下一个自定义的文件夹,但是通常很多人都起名attrs, 看下他的写法 <?xml version="1.0" encoding="utf-8"?> <resources>     <declare-styleable name="MyView">         <attr name="textColo

iOS开发 -- 为本地文件添加自定义属性的工具类

前言:实际开发,我们可能会有这样的需求,就是为文件添加自定义的属性,或者是可以将文件的相关信息添加进该文件的属性中,这样可以以备下次读取利用. 那么本文就是要介绍"拓展文件属性的工具类"   github网址也给出了这个工具类的示例源码:https://github.com/HeYang123456789/NSURLSession-ExpendedAttributesTool   这个工具类的设计学习来源来自老谭博客笔记:http://www.tanhao.me/pieces/1102

给UIScrollView添加category实现UIScrollView的轮播效果

给UIScrollView添加category实现UIScrollView的轮播效果 大家都知道,要给category添加属性是必须通过runtime来实现的,本教程中给UIScrollView添加category添加了好几个属性,也是通过runtime来实现的. 实现后的效果如下: UIScrollView的category的源码为: UIScrollView+YX.h   +   UIScrollView+YX.m // // UIScrollView+YX.h // PageView //

步步学LINQ to SQL:为实体类添加关系

本文详细为你阐述了如何在你的应用程序中实现LINQ to SQL.附件的示例程序包括了这里探讨的所有代码,还提供了一个简单的WPF图形界面程序来显示通过数据绑定返回的结果集. 本部分描述如何实现表间的映射关系:M:1,1:M和M:M.但是这里不会讨论1:1的映射关系,你可以在M:1的关系中发现这种1:1的映射关系.因此,从这里开始,我们将使用Book作为示例为你一步一步讲述这一实现过程. 映射M:1的关系 Book 对象与Category 对象是多对一的关系(M:1),因为一本书仅能属于某一个类

magento 开发 -- 深入理解Magento第七章 – 自定义Magento系统配置

  第七章 – 自定义Magento系统配置 Magento拥有十分强大的后台管理系统.作为一名开发人员,这套后台管理系统可以让你的用户简单直接的配置Magento系统或者你创建的模块.和Magento的其他功能一样,你第一次使用这套管理系统的时候可能觉得很麻烦,但是一旦你上手了,你会发现它强大的功能是那么吸引人.那么让我们开始吧.我们这一章的例子依然是基于Helloworld模块. 添加系统配置文件 首先我们要为模块添加一个系统配置文件.这个文件和"config.xml"是不搭界的a