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

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

1,getBaseUrl基本参数调用路径

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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';
    ....
}

按照上面这个类,我们可以使用简化代码来实现路径的调用 万俟飞收集整理

1
2
3
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文件里

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

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

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

例如:

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

 

还有种显示图片的方法:

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