Magento 必须掌握的知识点

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()));

5session,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();

8build 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('30x10');

 

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 cache

try {

    $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

<reference name="top.links">

            <block type="wishlist/links" name="wishlist_link"/>

            <action method="addLinkBlock"><blockName>wishlist_link</blockName></action>

</reference>

 <reference name="top.links">

            <action method="addLink" translate="label title" module="customer"><label>Home</label><url></url><title>Home</title><prepare>true</prepare><urlParams/><position>0</position></action>

            <action method="addLink" translate="label title" module="customer"><label>Help</label><url>help</url><title>Help</title><prepare>true</prepare><urlParams/><position>90</position></action>

            <action method="addLink" translate="label title" module="customer"><label>My Account</label><url helper="customer/getAccountUrl"/><title>My Account</title><prepare/><urlParams/><position>10</position></action>

        </reference>

<referencename="top.links"> 

    <actionmethod="addLink"translate="label title"> 

        <label>example</label> 

        <url>example</url>  

        <title>example</title> 

        <prepare>true</prepare>  

        <urlParamshelper="core/url/getHomeUrl"/>  

        <position>100</position> 

        <liParams/> 

        <aParams>class="top-link-example"</aParams> 

        <beforeText></beforeText> 

        <afterText></afterText> 

    </action> 

</reference> 

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 必须掌握的知识点)