magento添加分类属性
在magento中给产品添加自定义属性是很容易实现在后台就可以很轻易添加,但是给分类就不行了,magento本身没有提供给category添加自定义属性。在实际的运用过程中我们想给cagegory添加属性就得自己想办法了。在这里说说我是怎么添加的。
思路:通过建立一个产品属性->通过数据库把这个属性更改为cagegory的属性
具体操作:1.建立一个产品属性 网站后台->catalog->Attribute->Manage Attribute 在这里新建好自己想要的属性。
2.通过sql:SELECT attribute_id FROM `eav_attribute` where attribute_code='cus_category_description' 这里的attribute_code 这个值是你刚才新建的属性code 得到attribute_id。
3.通过sql:SELECT entity_type_id FROM `eav_entity_type` where entity_type_code='catalog_category';找到entity_type_id。
3.通过sql:update `eav_attribute` set entity_type_id=(第3步得到的 entity_type_id) where attribute_id=(第2步得到的 attribute_id)。这样就已经把第一步新建的产品属性更改为分类的属性了,这步做了之后再后台你还是看不到你刚才添加的那个属性的,还需要一个 步骤就是向eav_entity_attribute这个表中新增一条记录。
4.通过sql:insert into `eav_entity_attribute`(entity_type_id,attribute_set_id,attribute_group_id,attribute_id,sort_order) values(第3步得到的 entity_type_id,attribute_set_id(参照第5 步),attribute_group_id(参照第5步),attribute_id(第2步得到),sort_order(根据自己需要显示的顺序写 个值就行))。
5.如何得到 attribute_set_id 和 attribute_group_id:到网站后台分类管理的页面通过火狐或者谷歌浏览器查看元素的功能可以找到填写分类关键词那个属性的code值如 name="general[meta_keywords] ,这个meta_keywords值就是分类关键词的属性code了。通过第2步 就可以查到 meta_keywords这个code的attribute_id。通过这个attribute_id在表中 eav_entity_attribute 就可以查到相应的 attribute_set_id 和 attribute_group_id 。
6.刷新网站缓存 ok 在分类管理页面就可以看到刚才添加的那个属性了。
7.获取分类自定义属性:
<?php
$cat_attr = $_category->getAttributes();
if(array_key_exists('cus_category_id', $cat_attr)):
$_shortDescription=$cat_attr['cus_category_id']->getFrontend()->getValue($_category);
echo $_shortDescription;
endif;
?>
magento添加分类属性的更多相关文章
- Hexo使用攻略-添加分类及标签
创建"分类"选项 生成"分类"页并添加tpye属性 打开命令行,进入博客所在文件夹.执行命令 hexo new page categories 成功后会提示: ...
- WPF整理-为User Control添加依赖属性
依赖属性 ".NET properties are nothing more than syntactic sugar over set and get methods." 我们知 ...
- MVVM架构~knockoutjs系列之Mapping插件为对象添加ko属性
返回目录 对于一个JS对象来说,如果希望将所有属性进行监视,在之前我们需要一个个对属性添加ko.observable方法,而有了Mapping插件后,它可以帮助我们这件事. 在Mapping出现之前 ...
- vue data对象添加新属性触发视图
<template> <div class="wrap open"> <a>{{test01.name}}</a> <a> ...
- 【C#】使用IExtenderProvider为控件添加扩展属性,像ToolTip那样
申明: - 本文适用于WinForm开发 - 文中的“控件”一词是广义上的说法,泛指包括ToolStripItem.MenuItem在内单个界面元素,并不特指继承自Control类的狭义控件 用过To ...
- cookie工具类,解决servlet3.0以前不能添加httpOnly属性的问题
最近在解决XSS注入的问题,由于使用的servlet版本是2.5,不支持httpOnly的属性,故做了个工具类来实现cookie的httpOnly的功能.全类如下: /** * cookie工具类,解 ...
- struts2视频学习笔记 15-17 (访问或添加request属性,文件上传)
课时15 访问或添加request/session/application属性 1.简单说 page指当前页面.在一个jsp页面里有效 2.request 指从http请求到服务器处理结束,返回响应的 ...
- 如何给ActiveX控件添加“事件”“属性”“标准事件”“自定义事件”等一些相关操作
上一篇小编带大家熟悉了一下ActiveX的建立以及相关的概念,(http://blog.csdn.net/u014028070/article/details/38424611) 本文介绍下如何给控件 ...
- 为什么要在<button>元素中添加type属性
在HTML中<button> 标签定义一个按钮. <button type="button">Click Me!</button> 在 butt ...
随机推荐
- java json 的生成和解析 --json-lib
类(java json的解析和生成): import java.util.HashMap; import java.util.Map; import net.sf.json.JSONArray; im ...
- Steam和Byte[]之间进行输换
一. 二进制转换成图片 MemoryStream ms = new MemoryStream(bytes); ms.Position = 0; Image img = Image.FromStream ...
- 开源项目导入eclipse的一般步骤[转]
下载到开源项目后,我们还是希望导入到eclipse中还看,这样要方便点,一般的步骤是这样的 打开源代码目录, 如果看到里面有.calsspath .project文件,那么说明这个项目本来就是ec ...
- linux shell 当前时间
#!/bin/bashdatestr=`date --date='today' "+%Y-%m-%d %H:%M:%S"`echo $datestr
- java.lang.ThreadGroup.enumerate
java.lang.ThreadGroup.enumerate(Thread[] list) 方法复制该线程组及其子组中的所有活动线程到指定的数组. 声明 以下是java.lang.ThreadGro ...
- js里面引入js
document.write('<script src="http://js.xcar.com.cn/bbs/sidebar/js/publicSidebar.js"> ...
- VS2010连接SQLite数据库
Visual studio 2010及以上版本,连接SQLite数据库 1.在Sqlite开发站点下载SQLite的.exe安装包 Ctrl+F搜索这条语句:This is the only setu ...
- Servlet上
JavaWeb应用的概念 Java Web应用由一组Servlet.HTML页.类.以及其它可以被绑定的资源构成.它可以在各种供应商提供的实现Servlet规范的 Servlet容器 中运行. Jav ...
- 结对编程——关于Fault、Error、Failure程序设计
一.问题描述: 构造程序,分别是: •不能触发Fault •触发Fault,但是不能触发Error •触发Error,但是不能产生Fai ...
- java.lang.InstantiationException
java.lang.InstantiationException 出现这种异常的原因通常情况下是由于要实例化的对象是一个接口或者是抽象类等无法被实例化的类.