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?

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)


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.