Obtener URLs en Magento


Notice: Undefined variable: post in /furanet/sites/diegomestre.com/web/htdocs/wp-content/themes/docpress/functions.php on line 294

Notice: Trying to get property of non-object in /furanet/sites/diegomestre.com/web/htdocs/wp-content/themes/docpress/functions.php on line 294

Obtener URLs en Magento

Otro de los problemas recurrentes cuando programamos en Magento es la obtención de URLs. Esto es, estamos en una página determinada y queremos conseguir la URL a algún sitio determinado, bien para una imagen, una llamada a un AJAX, o simplemente un enlace.

Para esto Magento tiene una función principal que nos ayudará en esta tarea:

getUrl();

Esta función admite dos parámetros, el primero de ellos es la ruta y el segundo los parámetros que se pasarán junto con la ruta. Sigue el comportamiento ‘modelo/vista/controlador’ habitual de Zend Framework, así pues, por ejemplo la ruta ‘cms/page’ se referirá a la clase Mage_Cms_PageController, mientras que la ruta ‘cms/page/view llamará al método Mage_Cms_PageController::viewAction()

Si en alguno de estos campos se utiliza el asterisco: ‘*’ se utilizará el módulo actual, mientras que si es omitido, será utilizado ‘index’ como valor por defecto

Por ejemplo, si estamos en una página CMS la siguiente llamada será equivalente a cms/page/index, dentro de mi dominio:

Mage::getUrl('*/*'); 

El segundo parámetro de la llamada a getUrl() son los parámetros que se le pasarán a la Url en cuestión en un array. Muy sencillo:

Mage::getUrl('cms/page/view', array('id' => 1));

Es una llamada a http://www.midominio.com/cms/page/view/id/1

Para esto simplemente hemos de tener en cuenta que los siguientes valores están reservados y no se pueden usar para el array (todos comienzan con _):

  • _absolute
  • _current
  • _direct
  • _escape
  • _forced_secure
  • _fragment
  • _ignore_category
  • _nosid
  • _query
  • _secure
  • _store
  • _store_to_url
  • _type
  • _use_rewrite

Puedes encontrar información más detallada sobre esto en la documentación oficial de Magento pulsando aquí

Escribe tu comentario

comentarios

Speak Your Mind

*