Magento模板开发必用的路径函数-getBaseUrl

by Web全栈工程师 on 2011 年 12 月 04 日

当我们在设计开发Magento主题模板时候,有个函数一定要知道,那就是getBaseUrl函数,用getBaseUrl函数我们可以在.phtml里调用JS、image、File.

1,getBaseUrl基本参数调用路径

// http://magentonotes.com/
echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);

// http://magentonotes.com/js/
echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS);

//http://magentonotes.com/index.php/
echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK);

//http://magentonotes.com/media/
echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);

//http://magentonotes.com/skin/
echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN);

上面的几个例子参数比较长,我们可以来简化下参数

2,参考Mage_Core_Model_Store类简化getBaseUrl参数

让我们先看下Mage_Core_Model_Store类,打开./app/code/core/Mage/Core/Model/Store.php

class Mage_Core_Model_Store extends Mage_Core_Model_Abstract
{
	....
    /**
     * Possible URL types
     */
    const URL_TYPE_LINK                   = 'link';
    const URL_TYPE_DIRECT_LINK            = 'direct_link';
    const URL_TYPE_WEB                    = 'web';
    const URL_TYPE_SKIN                   = 'skin';
    const URL_TYPE_JS                     = 'js';
    const URL_TYPE_MEDIA                  = 'media';

	....
}

按照上面这个类,我们可以使用简化代码来实现路径的调用

echo Mage::getBaseUrl('skin');
echo Mage::getBaseUrl('media');
echo Mage::getBaseUrl('js');

 3,Mage_Core_Helper_Url类调用路径

Mage_Core_Helper_Url类在 ./app/code/core/Mage/Core/Helper/Url.php文件里

我们可以调用如下几个函数

//获取首页
echo Mage::helper('core/url')->getHomeUrl();
//返回当前页面的路径
echo Mage::helper('core/url')->getCurrentUrl()

4,getUrl函数也可以直接调用路径

例如:

//显示登录路径
echo $this->getUrl('customer/account/login');

 

还有种显示图片的方法:

echo $this->getSkinUrl('images/qty.gif');

Previous post:

Next post: