西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

Magento目录商品属性多语言实现原理解析

时间:2013-12-14 22:59来源:未知 作者:好模板 点击:
Magento系统可以支持多语言,目录、商品、属性等皆可以支持多种语言,那么他们之间是怎么实现的呢?现将原理解析如下: 1.在Magento系统中,首先可以新建多个店铺,在数据库中,每

Magento系统可以支持多语言,目录、商品、属性等皆可以支持多种语言,那么他们之间是怎么实现的呢?现将原理解析如下:

1.在Magento系统中,首先可以新建多个店铺,在数据库中,每个店铺都有自己的店铺ID,即store_id。每一个店铺都可以绑定对应的语言,Magento系统会自动到app/local目录下搜索对应的目录包,如果不存在,则使用默认的语言包。这样在前端显示的语言就可以将一些比如我的帐号、登录、注册等固定的语言文字多语言化。但是,对于可以配置的目录、商品以及商品各种属性等用户输入的内容,如在前端显示“颜色:黑色”,依然还不行。

2.对于每一个Magento目录和商品,Magento都是在内部存储他的属性和值的对应关系。在新建一个新的属性的时候,这个标签有一种默认语言,其他店铺在前台显示根据不同的store_id显示在前台不同的语言,可以在后台编辑属性的时候分别指定不同的store_id如何显示,Magento系统会存储在eav_attribute_label表中。如color这个属性,在英文版下显示Color,在中文版下显示颜色。eav_attribute_label表中分别是attribute_label_id 、attribute_id、store_id 、value四个字段组成。但是在前端显示“颜色:黑色”,暂时只能显示前半部分。

3.对于每一个目录和商品,系统首先让你配置默认系统的相关属性值,然后你可以在店铺视图下修改该产品在该店铺下的显示内容,系统会将内容存储到catalog_product_entity_varchar表中(实际上会是catalog_product_entity_*多个表),该数据表的格式是value_id、entity_type_id、attribute_id、store_id、entity_id、value。这样前端就能完整显示“颜色:黑色”了。

4.对于目录和商品的标题,标题只是属性的一种,其实已经囊括在第2、3条当中了。

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容