Magento开发常用方法

这里是我做Magento开发常用到的方法,现在总结出来,后续会把更多有用的方法总结出来。

1.直接操作数据库
查:

$read = Mage::getSingleton("core/resource")->getConnection(‘core_read‘);
$sql = "select * from `abc`";
$result = $read->fetchAll($sql);  //fetchRow查找一条

增,删,改

$write = Mage::getSingleton("core/resource")->getConnection(‘core_write‘);
$sql = "insert into abc (name)values(‘hello‘)";
$write->query($sql);

2.获取用户登录状态

Mage::getSingleton(‘customer/session‘)->isLoggedIn()

3.获取当前用户

$customer = Mage::getSingleton(‘customer/session‘)->getCustomer()

4.获取IP地址

$ip = Mage::helper(‘core/http‘)->getRemoteAddr()

5.事件分发

Mage::dispatchEvent($name,array $data = array())

6.得到产品详情

$model = Mage::getModel(‘catalog/product‘)
$_product = $model->load($productid)

7.得到所有商品集合

$model = Mage::getModel(‘catalog/product‘)
$collection = $model->getCollection()

8.获取当前店铺信息

$store_id = Mage::app()->getStore()->getStoreId()
$code = Mage::app()->getStore()->getCode()
$website_id = Mage::app()->getStore()->getWebsiteId()
$name = Mage::app()->getStore()->getName()
$status = Mage::app()->getStore()->getIsActive()
$url = Mage::app()->getStore()->getHomeUrl()

9.得到当前产品ID

$product_id = Mage::registry(‘current_product‘)->getId()

10.得到related products

$associatedProductId = Mage::getModel(‘catalog/product_type_grouped‘)->getAssociatedProductIds($_product);
$associatedProduct = Mage::getModel(‘catalog/product‘)->load($associatedProductId[0]);

12.获取指定分类产品

$products = Mage::getModel(‘catalog/category‘)->load($category_id)
->getProductCollection()
->addAttributeToSelect(‘*‘)
->addAttributeToFilter(‘status‘, 1)
->addAttributeToFilter(‘visibility‘, 4);

13.快速开启模板提示

A.找到app/code/core/Mage/Core/Block/Template.php这个文件
B.在getShowTemplateHints这个方法里面添加 return true

14.得到分类子分类

$currCat = Mage::getModel(‘catalog/category‘)->load($id) ; //当前分类
$collection = Mage::getModel(‘catalog/category‘)->getCategories($currCat->getEntityId());

15.获取指定目录子分类

if($category->hasChildren()) {  //判断是否有子目录
 $ids = $category->getChildren();   //提取子目录id清单
 $subCategories = Mage::getModel(‘catalog/category‘)->getCollection();
 $subCategories->getSelect()->where("e.entity_id in ($ids)");  //提取指定目录ids的上当清单
 $subCategories->addAttributeToSelect(‘name‘);  //指定查找目录名称
 $subCategories->load();
 foreach ($subCategories AS $item) {
 echo " - " ;
 echo ‘<a href="‘. $item->getUrl() . ‘">‘;   //获取目录链接
 echo $item->getName();   //获取目录名
 echo "</a>(";
 echo $item->getProductCount();   //获取目录下的产品数量
 //echo $item->getChildrenCount();  //获取目录下子目录数量
 echo ")";
 echo "<br/>";
 }
 }

16.获取URL的方法

Mage::getUrl(地址)
Mage::getUrl(地址,array())
Mage::helper(‘core/url‘)->getCurrentUrl()
Mage::helper(‘core/url‘)->getHomeUrl()
Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK)
时间: 2024-11-08 21:13:28

Magento开发常用方法的相关文章

offline页面开发常用方法及页面控件验证

offline页面开发常用方法及页面控件验证,对一些CheckBoxList操作进行封装,新人可以直接使用该代码. 1.返回上一页网址 /// <summary> /// Description: /// 返回上一页网址 /// Author : 付义方 /// Create Date: 2014-02-09 /// </summary> /// <returns>跳转Url</returns> public string ToRedirect() { //

magento开发 -- 修改当前用户的客户组

$customer = Mage::getSingleton('customer/session')->getCustomer(); $customer->setData( 'group_id', '2'); $customer->save(); 同理,你也可以修改用户的其它信息 [Magento SQL] 获取指定用户组,每个客户历史总订单数量和销售金额 SELECT customer_id,group_id,email,SUM(grand_total) AS total_amount

Django开发常用方法及面试题

1. 对Django的认识? #1.Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构.以及全功能的管理后台. #2.Django内置的ORM跟框架内的其他模块耦合程度高. #应用程序必须使用Django内置的ORM,否则就不能享受到框架内提供的种种基于其ORM的便利: #理论上可以切换掉其ORM模块,但这就相当于要把装修完毕的房子拆除重新装修,倒不如一开始就去毛胚房做全新的装修. #3.Django的卖点是超高的开发效

asp.net 网站开发常用方法

生成验证码: using System;  using System.Data;  using System.Configuration;  using System.Collections;  using System.Web;  using System.Web.Security;  using System.Web.UI;  using System.Web.UI.WebControls;  using System.Web.UI.WebControls.WebParts;  using

微信小程序开发常用方法

1.data中的数据,想要在函数中更改的方法 _this.setData({ // 日历数据 signList: dataList, // 当前日期 todayDay: str }) 2.if判断 wx:if="{{item.id && item.lessNum != 0}}" 3.for循环 <block wx:for="{{signList}}" wx:key="unique"></block> 4.

Android应用开发常用方法封装(一)

在Android开发过程中,有很多东西都是常常用到的,为了提高效率,将常用的方法做个记录. 1.在网路编程中,如果还没建立套接字就使用发送write,会出现异常,封装后没问题了(若发送byte[]型自己更改参数类型): public static boolean sendMsg(OutputStream outs,String str){ boolean isConnect=false; if(outs!=null) try { outs.write(str.getBytes()); outs.

#iOS开发常用方法集锦#为UITableView添加UISwipeGestureRecognizer手势

? 本文永久地址为http://www.cnblogs.com/ChenYilong/p/4103039.html ,转载请注明出处. 印象笔记链接:https://app.yinxiang.com/shard/s22/sh/04150175-aac6-4981-b71d-d7246de3037b/a0f139b2619a4607 ? ? ? <UIGestureRecognizerDelegate> -(void)viewDidLoad { ? ? [superviewDidLoad]; ?

#iOS开发常用方法集锦#如何为UIView添加居中背景

?本文永久地址为?http://www.cnblogs.com/ChenYilong/p/4103050.html,转载请注明出处. Evernote印象笔记:https://app.yinxiang.com/shard/s22/sh/2fe4cb0f-26cb-47ce-8569-bb45451cb7b8/6118d5a054003de9 //如何为UIView添加居中背景 #define kBackgroundImageCenterForView(ViewName,imageName)\ U

#iOS开发常用方法集锦#如何检查UITextField是否为空,以及是否为手机号

? 本文永久地址为http://www.cnblogs.com/ChenYilong/p/4107467.html?,转载请注明出处. Evernote印象笔记https://app.yinxiang.com/shard/s22/sh/9d7e4ca2-ad34-445e-b267-0fb62216c60d/6f61ffe1907cfde0 ? -(BOOL)checkTextNULL:(NSString?*)string?{ ? ??if?([string?isEqualToString:@"