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.