得到路径E:\ddl\Trunk\3_Development\03_Sourcecode\test.com\www\app\design\ f rontend\default\ddl_v2\template - Mage::getDesign()->getBaseDir(array('_area'=>'frontend','_package'=>'default','_theme'=>'ddl_v2','_type'=>'template'))
获得客户IP:
- Mage::helper('core/http')->getRemoteAddr(true)
截取字符串
- <?php echo $this->htmlEscape(Mage::helper('core/string')->truncate($str,10,'…')) ?>
在购物车中清除所有产品代码: - foreach( Mage::getSingleton('checkout/session')->getQuote()->getItemsCollection() as $item ){
- Mage::getSingleton('checkout/cart')->removeItem( $item->getId() )->save();
- }
清除购物车所有session: - Mage::getSingleton('checkout/session')->clear();
登录信息Customer
- Mage::helper('customer')->isLoggedIn();
- Mage::helper('customer')->getCustomer();
-
- Mage::getModel('admin/Session')->getUser()->getUsername()
controller,phtml中
- echo $this->getLayout()->createBlock('core/template')->setTemplate('cms/jifen.phtml')->toHtml();
- echo $this->getLayout()->createBlock('rebates/vendor')->setTemplate('cms/rebate.phtml')->toHtml();
- $this->getLayout()->createBlock('clientnumber/inputform', 'number')->setTemplate('clientnumber/input.phtml')->toHtml();
- $this->getLayout()->getBlock('xml_block_name')->toHtml();
- $this->getLayout()->getBlock('core/templete')->setTemplate('dianyin/'.$forwardpage.'.phtml')->toHtml();
magento中是怎样获得可配置商品的所有简单商品
- if($_product->isConfigurable()){
- $allProducts=$_product->getTypeInstance(true)->getUsedProducts(null, $_product);
- foreach($allProducts as $simpleProduct){
- echo $simpleProduct->getSku();
- }
- }
magento获取产品的销售数量
- $productOrderedQty = Mage::helper('catalog/product')->getQuantityOrderedBySku($pSku);
magento如何得到产品的库存
- (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty();
magento 获取指定分类下的产品
- $products= Mage::getModel('catalog/category')->load($category_id)->getProductCollection()
- ->addAttributeToSelect('*')
- ->addAttributeToFilter('status', 1)
- ->addAttributeToFilter('visibility', 4);
1:获取session
- $session = Mage::getSingleton('customer/session');
2:Request对象
- Mage::app()->getRequest();
- $post = Mage::app()->getRequest()->getParam();
- Mage::app()->getRequest()->getControllerName();
- Mage::app()->getRequest()->getActionName();
- Mage::app()->getRequest()->getRouteName();
- Mage::app()->getRequest()->getModuleName();
- Mage::app()->getFrontController()->getAction();
- Mage::app()->getFrontController()->getRequest()->getRouteName() ;
3::获取当前时间
- Mage::getModel('core/date')->date();
- Mage::getSingleton('core/date')->gmtDate();
- date("Y-m-d", Mage::getModel('core/date')->timestamp(time()));
获得cache的值:
- Mage::app()->loadCache('admin_notifications_lastcheck');
保存cache中:
- Mage::app()->saveCache(time(), 'admin_notifications_lastcheck');
4:session,cookie设置
4.1 Set session,cookie:
- Mage::getSingleton('core/cookie')->set('name','value');
- Mage::getSingleton('core/session')->setData('name','value');
4.2 Get session,cookie:
- Mage::getSingleton('core/cookie')->get('name');
- Mage::getSingleton('core/session')->getData('name');
5.generate skin url
- Mage::getDesign()->getSkinUrl('images/our_shops/shop_logo_default.jpg');
11:后台模块跳转 :
- Mage::app()->getFrontController()->getResponse()->setRedirect('http://your-url.com');
- Mage::app()->getResponse()->setRedirect(Mage::helper('adminhtml')->getUrl("adminhtml/promo_quote/index"));
12:产品属性操作
$attrSetName = 'my_custom_attribute';
$attributeSetId = Mage::getModel('eav/entity_attribute_set')->load($attrSetName,'attribute_set_name')->getAttributeSetId();
13:get a drop down lists options for a mulit-select attribute
$attribute = Mage::getModel('eav/config')->getAttribute('catalog_product', 'attribute_id');foreach ( $attribute->getSource()->getAllOptions(true, true) as $option){$attributeArray[$option['value']] = $option['label'];}
14:或取栏目图片
- public function getImageUrl($category){
- return Mage::getModel('catalog/category')->load($category->getId())->getImageUrl();
- }
- public function getThumbnailUrl($category){
- $image=Mage::getModel('catalog/category')->load($category->getId())->getThumbnail();
- if ($image) {
- $url = Mage::getBaseUrl('media').'catalog/category/'.$image;
- }
- return $url;
- }
15:产品缩略图
- $_thumb = Mage::helper('catalog/image')->init($product, 'thumbnail')->resize(50, 50)->setWatermarkSize('30x10');
17:CMS/PAGE
- $cms_id = Mage::getSingleton('cms/page')->getIdentifier();
- $cms_title = Mage::getSingleton('cms/page')->getTitle();
- $cms_content = Mage::getSingleton('cms/page')->getContent();
21:当前路径referer加密
- $currentUrl = $this->helper('core/url')->getCurrentUrl();
- Mage::helper('core')->urlEncode($url);
- Mage::helper('core')->getCurrentBase64Url()
25:获取当前站点货币符号
-
- Mage::app()->getStore();
-
-
- Mage::app()->getStore()->getStoreId();
-
-
- Mage::app()->getStore()->getCode();
-
-
- Mage::app()->getStore()->getWebsiteId();
-
-
- Mage::app()->getStore()->getName();
-
-
- Mage::app()->getStore()->getIsActive();
-
-
- Mage::app()->getStore()->getHomeUrl();
-
- echo $currency_code = Mage::app()->getStore()->getCurrentCurrencyCode();
-
- echo Mage::app()->getLocale()->currency(Mage::app()->getStore()->getCurrentCurrencyCode())->getSymbol();
26:获取产品属性集
- $sets = Mage::getResourceModel('eav/entity_attribute_set_collection')->setEntityTypeFilter(Mage::getModel('catalog/product')->getResource()->getTypeId())->load()->toOptionHash();
27:设置meta信息
- $this->loadLayout();
- $this->getLayout()->getBlock('head')->setTitle('Title');
- $this->getLayout()->getBlock('head')->setKeywords('Keywords');
- $this->getLayout()->getBlock('head')->setDescription('Description');
- $this->renderLayout();
Mage类中属register,unregister,registry,getBaseUrl,getUrl,getModel,getSingleton,getResourceModel,helper.我比较常用,其他的都要看情况了。
Mage::register($key, $value, $graceful = false)
作用:注册变量,这个一般都是传值,比如controller控制器传值到Block,或者Model或者Helper.
参数:$key,键名,随便一个不存在的键名。
$value,键值。既是要保存的值。
$graceful,这个是标志是否要覆盖原有的值,默认是false.如果键名存在,而$graceful又是false,则抛出异常。
Mage::unregister($key)
作用:销毁已经注册的变量值。
参数:$key,键名,任何已经注册了的键名。
Mage::registry($key)
作用:获取注册了的变量。既是获取了已经用Mage::register方法注册了的变量,如没有则返回null,在magento中,如果获取了没有注册的变量,那么可能会出现异常。
参数:$key,键名,任何已经注册了的键名。
Mage::getBaseUrl()
作用:获取网站的根url,也就是url地址。
参数:一般不涉及复杂操作都用默认变量。
Mage::getUrl($route = ”, $params = array()) 作用:获取网站的URL路劲,也就是路由。
参数:$route路由名称,类似于cms/index/index/,CMS属于模块名称,该名称由config.xml的frontName标签指定。
$params(),参数,形如index.php?ss=mm的参数。格式为数组
Mage::getModel($modelClass = ”, $arguments = array())
作用:获取数据模型实例对象。
参 数:$modelClass 参数形式:’catalog/product’,前面的catalog是模块名,也就是分组的意思,在magento 中,block,model,helper的类都是分组的,而product,也就是catalog模块的model文件夹下的product文件。
$arguments 获取该类所需要的参数
Mage::getSingleton($modelClass=”, array $arguments=array())
作用:该方法与getModel取同样的模型,只是该方法会注册变量
参数:与getModel无异。
Mage::getResourceModel($modelClass, $arguments = array())
作用:获取资源模型。一般都会形如catalog/product_collection的,返回数组集合,项目属于Mage::getModel所产生的对象。
参数:与getModel无异。
调用block中的方法; Mage::getBlockSingleton()
- $obj = Mage::getBlockSingleton('rewards/Checkout_Rewardspent');
Mage::helper($name)
作用:
获取帮助类对象,一般形如catalog/类名 ,返回帮助类对象,这个也可以直接用catalog,默认返货helper文件下的data类。
参数:catalog或者catalog/类名
好了,mage静态类中这几个是我经常用到的,其他的在各方面各方面可能用到,这里就不再多说了。
当我们在设计开发Magento 主题模板 时候,有个函数一定要知道,那就是getBaseUrl 函数,用getBaseUrl 函数我们可以在.phtml里调用JS、image、File.
1getBaseUrl 基本参数调用路径
-
- echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
-
-
- echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS);
-
-
- echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK);
-
-
- echo Mage::getBaseDir(Mage_Core_Model_Store::URL_TYPE_MEDIA);
-
-
- echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN);
按照上面这个类,我们可以使用简化代码来实现路径 的调用
- echo Mage::getBaseUrl('skin');
2Mage_Core_Helper_Url类调用路径
Mage_Core_Helper_Url类在 ./app/code/core/Mage/Core/Helper/Url.php文件里
-
- echo Mage::helper('core/url')->getHomeUrl();
- str_replace(Mage::getBaseUrl(),'',Mage::helper('core/url')->getCurrentUrl());
还有种显示图片的方法:
- <?php echo $this->getSkinUrl('images/ddbtn.gif');?>
- $this->getJsUrl('varien/accordion.js')
- <?php echo $this->helper('core/js')->includeScript('varien/accordion.js') ?>
magento插件手动下载
magento 一步支付插件 OneStepCheckout
图片上传 magento-community/MultiBanner_Module
magento订单删除插件key:magento-community/BoutikCircus_DeleteOrders
magento 支付宝key:magento-community/Cosmo_Community_AlipayPaymentGateway
后台管理产品显示图片 KEY:magento-community/TBT_Enhancedgrid
多列的下拉菜单key:magento-community/Raptor_ExplodedMenu
产品图片放大镜key:magento-community/Moo_CloudZoom
推荐分类key: magento-community/SFC_FeaturedCategories
进入magento后台,点击Catalog > Manage Categories 选择你要推荐的分类进入,通过"Featured Category?" 及 "Featured Sub-Category?" 两个选项就可以设置你的推荐分类了
分类列表 magento-community/CategoryModule
分类中的畅销产品 magento-community/Arboresys_BestSeller_per_category
熱销产品magento-community/Luxe_Bestsellers
每一个开发magento模板的程序员手中必备的blank主题,相对默认的magento主题,blank进行了大瘦身并且清除了不必要的XML,和模板中的多余代码,对性能的提供也是有很大帮助的。
Magento blank theme:
magento-core/Interface_Frontend_Default_Blank
magento-core/Interface_Frontend_Default_Modern
magento-community/Free_Mage_Theme
magento-community/Basic_Template
magento-community/templatemonster_theme
magento-community/DC_Catalog 可以根据品牌或各种属性来筛选产品
购物车预览 Extension Key:magento-community/cartview