Mage :: getBaseUrl()与Mage :: getBaseUrl(Mage_Core_Model_Store :: URL_TYPE_WEB)


26

有使用Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)而不是使用的理由Mage::getBaseUrl()吗?我已经看到它们都在使用中,并且它们都返回相同的东西。是更长的冗余吗?它也使用2个函数调用。

而且,我看到这Mage_Core_Model_Store::URL_TYPE_WEB只是返回字符串“ web”。有什么意义呢?

Answers:


40

首先看getBaseUrl()Mage.php

 public static function getBaseUrl($type = Mage_Core_Model_Store::URL_TYPE_LINK, $secure = null)
    {
        return self::app()->getStore()->getBaseUrl($type, $secure);
    }

简单地说,我们可以说:

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)表示您的Magento Site Url来自this url Magento is running it System

换句话说,我们可以说 Mage::getBaseUrl() give the url which is linking your magento internal page urls That MVC page

Mage :: getBaseUrl(Mage_Core_Model_Store :: URL_TYPE_WEB):

值设置为:从 Admin>System>Configuration>WebSite>Secure/Unsecure -> Base url

法师:: getBaseUrl():

值设置为:从 Admin>System>Configuration>WebSite>Secure/Unsecure -> Base Link url

主要区别显示:

每当我们被允许Use Web Server Rewrites = noadmin>system>Web>Search Engines Optimization Rewrites

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) 给...的价值 http://youdomain/

Mage::getBaseUrl()给的价值 http://youdomain/index.php/实际上就是 Mage_Core_Model_Store::URL_TYPE_LINK

当您hit http://youdomain/将其称为Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) url但times you can see all page您的链接site is starting with http://youdomain/index.php/ 即表示已采取Mage::getBaseUrl()/ Mage::getBaseUrl($type = Mage_Core_Model_Store::URL_TYPE_LINK, $secure = null)

例:

如果您已经创建了一个文件夹,amit at Magento root dir and there you have put a file test.js那么您想在magento home调用此文件,则可以使用此代码

<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB).'amit/test.js'; ?>

然后给出网址

www.yourdomain/amit/test.js

如果仅使用Mage::getBaseUrl()给 您的代码www.yourdomain/index.php/amit/test.js表示您无法访问test.js(当禁用ruite时)

但是您已经创建了新的控制器和新的动作,那么您可以使用

Mage::getBaseUrl().'yourmodulerouter/yourcontroller/youraction'

it show  url like `http://yourdomain/index.php/yourmodulerouter/yourcontroller/youraction`

或给予http://yourdomain/yourmodulerouter/yourcontroller/youraction(重写启用时)


那么Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)当我们打开重写功能后,效果会更好吗?
Buttle Butkus 2014年

no.Mage :: getBaseUrl():总是用于magento pageliks
Amit Bera

感谢您的帮助。但是您说的是,它Mage::getBaseUrl()为您提供了其中的链接index.php。如果我不需要多余的index.php,为什么要这么做?
Buttle Butkus 2014年

如果我发送时未在函数getBaseUrl()上发送任何参数,则它会发送参数为$ type = Mage_Core_Model_Store :: URL_TYPE_LINK,$ secure = null)
阿米特·贝拉

请检查这个magento Mage.php
阿米特·贝拉
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.