Aunque no es un caso habitual, hay situaciones en las que nos interesa eliminar filtros de la navegación por capas. Para ello sólo hay que conocer el lugar donde se obtiene la lista de filtros. El lugar mágico es la clase Mage_Catalog_Block_Layer_View, y en concreto la función getFilters, que muestro y comento a continuación: /** […]
Las imágenes de la descripción (wysiwyg) de un producto en Magento no se muestran
En varias tiendas Magento me he encontrado con este problema, en el que los administradores de la Web se quejan de que las imágenes que suben con el editor Wysiwyg, en la descripción de producto o en otros atributos personalizados, no se muestran al ver la página de producto en el frontend. Es algo común […]
Modificar meta-tags en un controlador Magento
Si estamos creando nuestra propia extensión en Magento y generamos la página completa (no únicamente bloques que se añaden a otras páginas ya existentes), seguramente se nos presentará la duda de la de la inclusión de los meta-tags de la Web, la modificación del título y demás parámetros generales de la página. Por supuesto, si […]
Reordenar ficheros js (javascript) y css en Magento
Para añadir ficheros javascript y css a una página Magento desde el layout, podemos utilizar el siguiente fragmento: <reference name="head"> <action method="addItem"><type>js</type><name>js/miscript.js</name></action> <action method="addItem"><type>skin_css</type><name>css/estilos.css</name></action> </reference> El problema que se nos puede plantear es que los archivos siempre son añadidos detrás de todos los existentes. Si además seguimos la recomendación de nuestros amigos de Magento de […]
Modificar la página de inicio de Magento para usar layouts
En una instalación limpia de Magento, la página de inicio se genera desde el CMS, por lo que si queremos modificar esta página y añadir nuestro propio contenido, bloques, productos, etc. tenemos que recurrir o bien al editor de páginas del CMS, donde tenemos dos opciones: editar el contenido con el editor Wysisyg o definir […]
Cambiar la plantilla price.phtml sólo en la página de producto de magento
Un caso muy común en cualquier página es necesitar mostrar el bloque de precios de forma distinta en las páginas de categoría y en la página de producto, normalmente para incluir más información en esta última. El precio de los productos en Magento, se muestra mediante la plantilla: frontend/<interface>/<tema>/catalog/product/price.phtml El problema cuando queremos modificarla es […]
Capturar una imagen, recortarla y guardarla en el servidor con PHP
Con el siguiente código podemos recuperar una imagen de un servidor web (nuestro o externo), cortarla con unas coordenadas dadas, y guardarla en una carpeta de nuestro servidor con un nombre diferente. $src = ‘http://www.danielnavarroymas.com/imagen-original.jpg’; $dst = ‘/carpeta/de/mi/servidor/nombre-destino.jpg’; $img_r = imagecreatefromjpeg($src); $dst_r = ImageCreateTrueColor(w, h); imagecopyresampled($dst_r, $img_r, 0, 0, $origenX, $origenY, $w, $h, $w, $h); […]
Obtener la última dirección visitada (referer) en Magento
Obtener la última (anterior) dirección visitada por un usuario en Magento es en ocasiones más efectivo que el correspondiente en PHP (variable $_SERVER) o en javascriptya que tiene la ventaja de funcionar con el botón back del navegador. $referrer = Mage::getSingleton('core/session')->getLastUrl(); El correspondiente en PHP o javascript no nos proporcionarán ese dato si el usuario […]
Ejemplos básicos de AJAX, AJAH y AJAJ con jQuery
Cualquiera que sea nuestro método preferido de obtención de datos asíncronos desde nuestro servidor, con jQuery es tan sencillo como llamar a la correspondiente función. El siguiente ejemplo muestra el caso AJAH, quizá el más sencillo de explicar, pero funcionará igual cualquiera que sea el formato retornado por el servidor. La petición se puede realizar […]
Guardar y recuperar datos de sesión en Magento
En Magento tenemos fácil acceso a los datos de la sesión de usuario, en la que podemos almacenar, para su posterior uso, cualquier tipo de información dependiente de nuestra aplicación, como por ejemplo los datos de un formulario, si queremos recuperarlos más adelante, si el usuario regresa a la página del mismo. Como en la […]
Parametros GET y POST de una petición HTTP en Magento
En Magento podemos obtener los parámetros de la petición HTTP, tanto si es realizada por cualquiera de los métodos GET o POST. En definitiva, las siguientes llamadas sustituyen a las variables de PHP correspondientes $_GET y $_POST, sólo que en este caso, Magento aplica primero los filtros de seguidad correspondientes, para que no tengamos que […]
Obtener los atributos de un producto configurable en Magento
Un pequeño ejemplo para obtener los atributos u opciones de un producto configurable en Magento, y sus identificadores, códigos y etiquetas. El código muestra los atributos de super-producto, pero no las opciones particulares del producto en cuestión (custom options). Si alguien está interesado en las opciones propias o custom options de los productos (configurables o […]