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


26

¿Hay alguna razón para usar en Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)lugar de Mage::getBaseUrl()? Los he visto en uso, y ambos devuelven lo mismo. ¿El más largo es redundante? También utiliza 2 llamadas a funciones.

Además, veo que Mage_Core_Model_Store::URL_TYPE_WEBsimplemente devuelve la cadena 'web'. ¿De qué sirve?

Respuestas:


40

Primer vistazo getBaseUrl()aMage.php

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

En una palabra simple podemos decir:

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)indicó su Magento Site Urlde this url Magento is running it System.

Y otra palabra, podemos decir 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 establecido en : desde Admin>System>Configuration>WebSite>Secure/Unsecure -> Base url

Mage :: getBaseUrl ():

Valor establecido en : desde Admin>System>Configuration>WebSite>Secure/Unsecure -> Base Link url

Principal diferencia que muestra:

Siempre que estemos habilitados Use Web Server Rewrites = nodesde admin>system>Web>Search Engines Optimization Rewrites

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) dar el valor de http://youdomain/

pero Mage::getBaseUrl()da valor http://youdomain/index.php/que realmente da el valor de Mage_Core_Model_Store::URL_TYPE_LINK

cuando hit http://youdomain/eso es llamar Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) url Pero ese times you can see all pageenlace de tu site is starting with http://youdomain/index.php/ eso significa que tomóMage::getBaseUrl()/ Mage::getBaseUrl($type = Mage_Core_Model_Store::URL_TYPE_LINK, $secure = null)

Ejemplo:

Si ha creado una carpeta, amit at Magento root dir and there you have put a file test.jsentonces desea llamar a este archivo en casa de magento, entonces puede usar este código

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

y da entonces url

www.yourdomain/amit/test.js

Si usa solo lo Mage::getBaseUrl()que le da www.yourdomain/index.php/amit/test.jsesa media test.js no se puede acceder (cuando rewite deshabilita)

Pero ha creado un nuevo controlador y una nueva acción, entonces puede usar

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

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

o dar http://yourdomain/yourmodulerouter/yourcontroller/youraction(cuando habilitar reescritura)


¿ Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)Funcionará mejor cuando tengamos reescrituras activadas?
— Buttle Butkus

no.Mage :: getBaseUrl (): siempre se usa para pageliks de magento
— Amit Bera

Gracias por ayudar. Pero dijiste que eso Mage::getBaseUrl()te da un enlace que tiene index.phpen él. ¿Por qué querría ese index.php adicional si no lo necesito?
— Buttle Butkus

Si envío no envío ningún parámetro en la función getBaseUrl (), entonces envía si los parámetros son $ type = Mage_Core_Model_Store :: URL_TYPE_LINK, $ secure = null)
— Amit Bera

por favor revisa este magento Mage.php
— Amit Bera
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.