Mage :: getBaseUrl () vs Mage :: getBaseUrl (Mage_Core_Model_Store :: URL_TYPE_WEB)

26

Existe uma razão para usar em Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)vez de Mage::getBaseUrl()? Já vi os dois em uso e os dois retornam a mesma coisa. O mais longo é redundante? Também usa 2 chamadas de função.

Além disso, vejo que Mage_Core_Model_Store::URL_TYPE_WEBsimplesmente retorna a string 'web'. Qual é o sentido disso?

Buttle Butkus
fonte

Respostas:

40

Primeiro, olhe getBaseUrl()paraMage.php

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

Em uma palavra simples, podemos dizer:

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)indicou seu Magento Site Urlde this url Magento is running it System.

E outra palavra, podemos dizer que 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):

Valor definido em : De Admin>System>Configuration>WebSite>Secure/Unsecure -> Base url

Mage :: getBaseUrl ():

Valor definido em : De Admin>System>Configuration>WebSite>Secure/Unsecure -> Base Link url

Principal diferença mostrando:

Sempre que somos capazes Use Web Server Rewrites = node admin>system>Web>Search Engines Optimization Rewrites

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) dê o valor de http://youdomain/

mas Mage::getBaseUrl()dê um valor http://youdomain/index.php/que realmente dê o valor de Mage_Core_Model_Store::URL_TYPE_LINK

quando você hit http://youdomain/chama Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) url Mas esse times you can see all pagelink seu site is starting with http://youdomain/index.php/ significa que foi precisoMage::getBaseUrl()/ Mage::getBaseUrl($type = Mage_Core_Model_Store::URL_TYPE_LINK, $secure = null)

Exemplo:

Se você criou uma pasta, amit at Magento root dir and there you have put a file test.jsentão deseja chamar esse arquivo no magento home, então pode usar este código

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

e dá url

www.yourdomain/amit/test.js

Se você usar apenas o Mage::getBaseUrl()que www.yourdomain/index.php/amit/test.jsindica que test.js significa que não pode ser acessado (quando a desativação é reativada)

Mas você criou um novo controlador e uma nova ação, então você pode usar

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

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

ou dar http://yourdomain/yourmodulerouter/yourcontroller/youraction(quando reescrever ativar)

Amit Bera
fonte
Então Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB), funcionará melhor quando tivermos reescritas ativadas?
Buttle Butkus
no.Mage :: getBaseUrl (): é sempre usado para páginas magento
Amit Bera
Obrigado por ajudar. Mas você disse que Mage::getBaseUrl()lhe dá um link que contém index.php. Por que eu iria querer esse index.php extra se não preciso?
Buttle Butkus
Se eu enviar não enviar qualquer parâmetro na função getBaseURL (), em seguida, enviar se params como $ type = Mage_Core_Model_Store :: URL_TYPE_LINK, $ garantir = null)
Amit Bera
por favor verifique este magento Mage.php
Amit Bera