Magento 开发常用技巧与方法

1:获取session
$session = Mage::getSingleton(‘customer/session’);

2:Request对象
Mage::app()->getRequest()

3:调用Model对象
Mage::getModel(‘infinity/model’);

4:获取当前时间
Mage::getModel(‘core/date’)->date();date(“Y-m-d”, Mage::getModel(‘core/date’)->timestamp(time()));

5:session,cookie设置

5.1 Model:
Mage::getModel(‘core/cookie’);Mage::getModel(‘core/session’);

5.2 Set Method:
Mage::getSingleton(‘core/cookie’)->set(‘name’,’value’);Mage::getSingleton(‘core/session’)->set(‘name’,’value’);

5.3 Get method:
Mage::getSingleton(‘core/cookie’)->get(‘name’);Mage::getSingleton(‘core/session’)->get(‘name’);

6:输出配置文件
//header(‘Content-Type: text/xml’);header(‘Content-Type: text/plain’);echo $config = Mage::getConfig()->loadModulesConfiguration(‘system.xml’)->getNode()->asXML();exit;

7:Get URL for a Magento Category
Mage::getModel(‘catalog/category’)->load(17)->getUrl();

8:build your URL with valid keys
Mage::helper(“adminhtml”)->getUrl(“mymodule/adminhtml_mycontroller/myaction/”,array(“param1″=>1,”param2″=>2));

9:create key values
Mage::getSingleton(‘adminhtml/url’)->getSecretKey(“adminhtml_mycontroller”,”myaction”);

10:disable security feature in the admin panel
admin panel -> System -> Configuration -> Admin section: “Add Secret key to Urls”.

11:后台模块跳转:
Mage::app()->getResponse()->setRedirect(Mage::helper(‘adminhtml’)->getUrl(“adminhtml/promo_quote/index”));

12:产品属性操作
$product = Mage::getModel(‘catalog/product’)->getCollection()->getFirstItem();foreach($product->getAttributes() as $att){$group_id = $att->getData(‘attribute_group_id’);$group = Mage::getModel(‘eav/entity_attribute_group’)->load($group_id);var_dump($group);}$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(’30×10′);

16:判断是否首页:$this->getIsHomePage()
Mage::getSingleton(‘cms/page’)->getIdentifier() == ‘home’ &&Mage::app()->getFrontController()->getRequest()->getRouteName() == ‘cms’)

17:
$cms_id = Mage::getSingleton(‘cms/page’)->getIdentifier();$cms_title = Mage::getSingleton(‘cms/page’)->getTitle();$cms_content = Mage::getSingleton(‘cms/page’)->getContent();

18 :
$attributes = $_product->getAttributes();$themeColor = $attributes[‘theme_color’]->getFrontend()->getValue($_product);

19:获取configurable产品simple product
if($_product->getTypeId() == “configurable”):$ids = $_product->getTypeInstance()->getUsedProductIds();foreach ($ids as $id) :$simpleproduct = Mage::getModel(‘catalog/product’)->load($id);$simpleproduct->getName().” – “.(int)Mage::getModel(‘cataloginventory/stock_item’)->loadByProduct($simpleproduct)->getQty();$childProducts = Mage::getModel(‘catalog/product_type_configurable’)->getUsedProducts(null, $product);

20: get the attributes of Configurable Product.
$attributes = $product->getTypeInstance(true)->getConfigurableAttributes($product);

21:当前路径
$currentUrl = $this->helper(‘core/url’)->getCurrentUrl();

22:通过资源配置方式创建目录
$installer = $this;$installer->startSetup();// make directory for font cachetry {$domPdfFontCacheDir = join(DS, array(‘lib’, ‘Symmetrics’, ‘dompdf’, ‘fonts’));$domPdfFontCacheDir = Mage::getBaseDir(‘var’) . DS . $domPdfFontCacheDir;if (!file_exists($domPdfFontCacheDir)) {mkdir($domPdfFontCacheDir, 0777, true);}} catch(Exception $e) {throw new Exception(‘Directory ‘ . $domPdfFontCacheDir . ‘ is not writable or couldn\’t be ‘. ‘created. Please do it manually.’ . $e->getMessage());}$installer->endSetup();

23:
wishlist_linkHometrue0helpHelptrue90My Account10exampleexampletrue100class=”top-link-example”

24:在controllers 实现跳转
Mage::app()->getFrontController()->getResponse()->setRedirect(‘http://your-url.com’);

25:获取当前站点货币符号
$storeId = (int) $this->getRequest()->getParam(‘store’, 0);$store=Mage::app()->getStore($storeId);$currencyCode=$store->getBaseCurrency()->getCode()$attribute = Mage::getModel(‘catalog/resource_eav_attribute’)->load($attributeId);$attributeData = $attribute->getData();$frontEndLabel = $attributeData[‘frontend_label’];$attributeOptions = $attribute->getSource()->getAllOptions();

26:获取产品属性集
$sets = Mage::getResourceModel(‘eav/entity_attribute_set_collection’)->setEntityTypeFilter(Mage::getModel(‘catalog/product’)->getResource()->getTypeId())->load()->toOptionHash();

27:magento使用sql
$resource = Mage::getSingleton(‘core/resource’);$read= $resource->getConnection(‘core_read’);$tempTable = $resource->getTableName(‘infinity_contacts’);$_storeid = Mage::app()->getStore()->getId();$wheres = “`status`=1 AND ( FIND_IN_SET(0, `store_id`)>0 OR FIND_IN_SET($_storeid, `store_id`)>0 )”;$select = $read->select()->from($tempTable, array(‘count(*) as num’))->where($wheres);

28:设置meta信息
$template = Mage::getConfig()->getNode(‘global/page/layouts/’.Mage::getStoreConfig(“featuredproducts/general/layout”).’/template’);$this->loadLayout();$this->getLayout()->getBlock(‘root’)->setTemplate($template);$this->getLayout()->getBlock(‘head’)->setTitle($this->__(Mage::getStoreConfig(“featuredproducts/general/meta_title”)));$this->getLayout()->getBlock(‘head’)->setDescription($this->__(Mage::getStoreConfig(“featuredproducts/general/meta_description”)));$this->getLayout()->getBlock(‘head’)->setKeywords($this->__(Mage::getStoreConfig(“featuredproducts/general/meta_keywords”)));$this->renderLayout();

相关推荐

magento 2.3 nginx 安装

在网上看了许多中文的magento2的安装教程,大多数都没有完整的安装步骤,本教程将教会你怎么使用和安装magento2.3 …

Magento忘记密码怎么办

如果你忘记 Magento 用户名和(或)密码无法登陆后台,并且forgot your password链接无法给你发送找回密码邮件,这 …

magento backend dashboard can’t log in – session error

可能很多朋友有同样的经历,magento在服务器中配置域名是可以正常的访问了,但是在本地配置后却无法登录后台,账号密码登录的时候发现出现空白,无法跳转到后台,本文章向大家介绍两种解决本地magento后台无法登录的方法,需要的朋友可以参考下

暂无评论

发表评论

微信扫一扫,分享到朋友圈

Magento 开发常用技巧与方法