magento开发 -- 支持多店铺系统的开发

简介:

Magento支持多店铺,但是,即便如此,如果你的扩展没考虑多店铺,结果你的系统也只能支持单店铺。 

支持多店铺的开发一般就是遵循一些基本原则: 
1.查询那些和店铺有关的数据,必须加入store过滤 
2.存储店铺有关的数据,必须指定store 

II. 查询相关店铺相关的数据例: 

1. 前端查询某当前店铺下的所有产品数据: 

$collection = Mage::getModel('catalog/product')->getCollection();//默认装载当前店铺下的产品  

 

如果想查询指定店铺下的产品,需明确指定店铺ID,在前面代码基础上增加: 

 

$collection = $collection->setStoreId(3); // 3为某店铺ID 

 

2. 前端装载当前店铺的某个产品

 

$prd = Mage::getModel('catalog/product')->load(112); // 112是产品的id 

 

这里不用指定店铺id,默认转载当前店铺的数据,如果明确载入某个店铺下的产品,应在load之前指定店铺ID 

 

$prd->setStoreId(3); // 店铺ID号 

 

3. 前端查询某当前店铺下的所有分类数据 
与装载产品非常类似 

 

$collection = Mage::getModel('catalog/category')->getCollection(); //默认装载当前店铺的所有分类。  

 

如果指定要装载某个店铺下的分类,增加如下代码: 

 

$collection = $collection->setStoreId(3); // 3为店铺ID  

 

4. 前端装载一个Category 
与装载产品非常类似 

 

$model = Mage::getModel('catalog/category')->load(12); // 12是分类的id 

 

这里不用指定店铺id,默认转载当前店铺的数据,如果明确载入某个店铺下的分类,应在load之前指定店铺ID 

 

$model->setStoreId(3); // 店铺ID号 

 

5. 前端获得配置数据 
当然,首先要知道你所要检索的配置数据path,同前极类似: 

 

Mage::getStoreConfig('cartz/configuration/brand_root'); //装载当前店铺下的数据  

 

以下代码达到同样效果 

 

Mage::getStoreConfig('cartz/configuration/brand_root', Mage::app()->getStore()->getId()); 

 

第二个参数Mage::app()->getStore()->getId()即为当前店铺ID 

如果想获得某个店铺下的配置,需明确指定店铺ID. 

 

Mage::getStoreConfig('cartz/configuration/brand_root', 3); //3为某店铺ID. 

 

II. 后台店铺相关的数据管理存储: 
一旦你建立了多个店铺,你就会发现在很多页面都有一个Store Switcher: 
 
你如果也想让自己的后台页面有一个这样的swithcer,可以在合适的地方调用这个block,比如,在你的controller的action方法中加入下面的代码 

 

if (!Mage::app()->isSingleStoreMode()) { $this->_addLeft($this->getLayout()->createBlock('store_switcher')); }  

 


就可以实现上述目的。有了这个基础方便接下来店铺数据切换。比如,当切换到某一个店铺时,加载该店铺下的单个或者多个产品时,别忘记根据switcher传入的store参数值正确调用setStoreId。 

 

源文:http://koda.javaeye.com/blog/651918

 


目录
相关文章
|
4月前
|
JavaScript Java 关系型数据库
卤菜销售|基于SSM+vue的智能卤菜销售平台的设计与实现(源码+数据库+文档)
卤菜销售|基于SSM+vue的智能卤菜销售平台的设计与实现(源码+数据库+文档)
67 15
|
3月前
|
XML 前端开发 JavaScript
discuz门户文章增加代码高亮
discuz门户文章增加代码高亮
20 0
|
4月前
|
安全 JavaScript Java
爱心商城|爱心商城系统|基于Springboot的爱心商城系统设计与实现(源码+数据库+文档)
爱心商城|爱心商城系统|基于Springboot的爱心商城系统设计与实现(源码+数据库+文档)
36 0
|
4月前
|
小程序 IDE API
社区每周丨小程序基础库更新至 2.8.21及小程序商品新增商品营销功能(9.11-9.15)
社区每周丨小程序基础库更新至 2.8.21及小程序商品新增商品营销功能(9.11-9.15)
168 11
|
4月前
|
移动开发 小程序 安全
【社区每周】小程序模板支持设置一键上架功能(2022年9月第二期)
【社区每周】小程序模板支持设置一键上架功能(2022年9月第二期)
54 1
|
4月前
|
NoSQL 关系型数据库 MySQL
基于Python和mysql开发的商城购物管理系统分为前后端(源码+数据库+程序配置说明书+程序使用说明书)
基于Python和mysql开发的商城购物管理系统分为前后端(源码+数据库+程序配置说明书+程序使用说明书)
104 0
|
11月前
|
小程序 前端开发
【易售小程序项目】修改“我的”界面前端实现;查看、重新编辑、下架自己发布的商品【后端基于若依管理系统开发】
【易售小程序项目】修改“我的”界面前端实现;查看、重新编辑、下架自己发布的商品【后端基于若依管理系统开发】
81 0
|
存储 前端开发 测试技术
同城交友开发稳定版丨同城交友app系统开发详细程序/案例设计/方案逻辑/规则详情/源码设计
需求分析:明确系统的功能、特点和目标受众,并根据市场需求进行需求调研,从中提取核心功能和关键需求。
|
数据安全/隐私保护
Magento开发有哪些功能呢?
电子商务系统的数据是企业的商业机密。 Magento支持SSL加密传输前台和后台数据并且支持后台权限的分级控制,确保您的数据万无一失。
1709 0
|
前端开发
15、【 商品管理模块开发】——后台获取商品详情功能开发及PropertiesUtil配置工具,DateTimeUtil时间处理工具开发
1、后台获取商品详情接口: 在上一篇文章所新建的ProudctManageController类中新建下面方法:*Controller: //获取商品详情接口 @RequestMapping("get_detail.
1051 0