magento中的getBaseUrl函数
(转)本文地址:http://www.popo4j.com/magento/mage_getbaseurl.html
在magento中如果要获取JS,media,skin目录,我们可以使用magento的
1 Mage::getBaseUrl()
这个函数..假设我们的网站根目录是:http://192.168.1.10/magento/
如果我要获取js目录
1 <?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS);//http://192.168.1.10/magento/js/ ?>
同理我们获取media和skin目录可以使用
1 <?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);//http://192.168.1.10/magento/media/?>
2 <?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN);//http://192.168.1.10/magento/skin/?>
如果我们要在magento系统的其他地方获取网站根目录我们可以使用
1 <?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK);//http://192.168.1.10/magento/index.php/?>
如果不需要index.php可以使用:
1 Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);//http://192.168.1.10/magento/
但上面的代码除了在代码重构方面有优势,我反正是记不住这些又臭又长的常量,我们来看下
1 class Mage_Core_Model_Store extends Mage_Core_Model_Abstract
中定义了这几个常量
1 const URL_TYPE_LINK = 'link';
2 const URL_TYPE_DIRECT_LINK = 'direct_link';
3 const URL_TYPE_WEB = 'web';
4 const URL_TYPE_SKIN = 'skin';
5 const URL_TYPE_JS = 'js';
6 const URL_TYPE_MEDIA = 'media';
这意味着我们可以直接这样
1 <?php echo Mage::getBaseUrl('media'); ?>
2 <?php echo Mage::getBaseUrl('js'); ?>
也可以使用getHomeUrl
1 <?php echo Mage::helper('core/url')->getHomeUrl(); ?>
我们看下Mage_Core_Helper_Url 这个类中getHomeUrl是如何实现的
1 public function getHomeUrl()
2 {
3 return Mage::getBaseUrl();
4 }
默认就是调用上面我们说的Mage::getBaseUrl()方法,而getBaseUrl方法默认调用的是
1 Mage_Core_Model_Store::URL_TYPE_LINK
如果我们要获取当前页面的路径我们可以使用mage的帮助类"core/url"
1 <?php echo Mage::helper('core/url')->getCurrentUrl();?>
这个方法永远返回当前页面的路径,也就是显示在浏览器地址栏上的路径,如果我们要显示登录界面的路径可以使用:
1 <?php echo $this->getUrl('customer/account/login') ; ?>
magento中的getBaseUrl函数的更多相关文章
- Magento中URL路径的获取
//获得 media 带 http 的url 地址. Mage::getBaseUrl('media') //获得skin 和js 目录的地址: Mage::getBaseUrl('skin'); M ...
- Magento中直接使用SQL语句
原理: magento是基于Zend Framework的,所以底层用的还是zend的zend db 在文件app/code/core/Mage/Catalog/model/Resource/Eav ...
- magento中的一些技巧
1.加载某个attribute: $attributeCode=Mage::getModel('catalog/resource_eav_attribute') ...
- Python3中的字符串函数学习总结
这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...
- Entity Framework 6 Recipes 2nd Edition(10-5)译 -> 在存储模型中使用自定义函数
10-5. 在存储模型中使用自定义函数 问题 想在模型中使用自定义函数,而不是存储过程. 解决方案 假设我们数据库里有成员(members)和他们已经发送的信息(messages) 关系数据表,如Fi ...
- Entity Framework 6 Recipes 2nd Edition(11-9)译 -> 在LINQ中使用规范函数
11-9. 在LINQ中使用规范函数 问题 想在一个LINQ查询中使用规范函数 解决方案 假设我们已经有一个影片租赁(MovieRental )实体,它保存某个影片什么时候租出及还回来,以及滞纳金等, ...
- 函数:MySQL中字符串匹配函数LOCATE和POSITION使用方法
1. 用法一 LOCATE(substr,str) POSITION(substr IN str) 函数返回子串substr在字符串str中第一次出现的位置.如果子串substr在str中不存在,返回 ...
- 借助JavaScript中的时间函数改变Html中Table边框的颜色
借助JavaScript中的时间函数改变Html中Table边框的颜色 <html> <head> <meta http-equiv="Content-Type ...
- EC笔记,第二部分:9.不在构造、析构函数中调用虚函数
9.不在构造.析构函数中调用虚函数 1.在构造函数和析构函数中调用虚函数会产生什么结果呢? #; } 上述程序会产生什么样的输出呢? 你一定会以为会输出: cls2 make cls2 delete ...
随机推荐
- Android 6.0 - 动态权限管理的解决方案(转)
转自:http://www.cnblogs.com/dubo-/p/6018262.html Android 6.0 - 动态权限管理的解决方案 转载请标注 Android 6.0版本(Api 2 ...
- 查看crontab执行记录
如果出现了crontab定时任务不执行的情况,首先需要定位问题,那么就需要通过日志来确定问题所在. crontab的日志位置一般位于/var/log/cron,利用下面的语句即可查看日志. tail ...
- 简单记录下Jmeter通过CSV保存测试数据,测试用例,及将测试结果导出到Excel里
1.CSV保存测试数据,并上传到CSV Data Set Config,设置相关属性 2.CSV保存测试用例,并上传到CSV Data Set Config,设置相关属性 3.设置一个http请求,设 ...
- Windows添加右键新增.md文件
因为习惯用Markdown来写文档, 所以常常需要新建.md文档,但由于Windows并不会自带把.md文档放入右键新建项中(像Word那样),所以方便起见,自己手动设置,其实就是把它写进Window ...
- C/C++ clock()
{ clock_t start = clock(); for(int i = 0; i < 1000000; i++) { static int var = 0; var++; } clock_ ...
- MySql5.7默认生成的密码无法正常登陆
1.修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证 2.重启 mysqld 服务:sys ...
- 赋能时空云计算,阿里云数据库时空引擎Ganos上线
随着移动互联网.位置感知技术.对地观测技术的快速发展,时空信息已从传统GIS行业渗透到大众应用及各行各业.从静态POI(兴趣点)到APP位置信息,从导航电子地图到车辆行驶轨迹,从卫星影像到三维城市建模 ...
- Shell5
sed文本编辑器(vim,notepad)非交互式的文本编辑器sed是逐行处理编辑器 sed [选项] ‘条件指令' 文件 #没有条件指令时,默认对全文所有进行修改sed的所有操作默认时在 ...
- Delphi 实现最近打开文件记录菜单
unit UntOpenMenu; //download by http://wwww.NewXing.com interface uses Windows, Messages, SysUtils, ...
- int在64位操作系统中占多少位?
仍然是32位. 曾经是这样的:16位操作系统中,int 占16位:在32位操作系统中,int 占32位.但是现在人们已经习惯了 int 占32位,因此在64位操作系统中,int 仍为32位.64位整型 ...