Dado el siguiente esquema, vamos a intentar explicar cómo modificar el contenido de bloque mediante un enlace y AJAX, utilizando el API correspondiente de Drupal. [table style=”3″] Responderemos a las siguientes cuestiones: Qué necesitamos en nuestro módulo Drupal para responder a llamadas AJAX. Cómo generamos un link, indicando a Drupal que queremos que sea cargado […]
Añadir checkbox de condiciones de uso al crear una cuenta en Magento
Magento permite forzar la aceptación de unas condiciones de uso antes de la finalización del pedido. Sin embargo, si queremos obtener algunos de los sellos de ‘buenas prácticas’ en el comercio electrónico, como pueda ser el sello de Confianza Online, necesitaremos incluir también una casilla de aceptación de las condiciones de uso durante el registro […]
Sobreescribir bloque desde dos extensiones
Un caso habitual en tiendas Magento muy personalizadas, es que existan conflictos entre las diferentes extensiones instaladas. Conflicto entre extensiones Magento En la mayoría de los casos, los conflictos vienen dados por extensiones que intentan reescribir el mismo Modelo o Bloque del Core de Magento que otra extensión. En un caso reciente, he necesitado añadir […]
Mejorar la búsqueda de Magento 1.5, 1.6 y 1.7
Que el buscador de Magento, como todos los buscadores de todas las plataformas y frameworks (o al menos de la mayoría), es mejorable, no es ningún secreto, pero los resultados que devuelve la instalación por defecto, no son malos, sino lo siguiente. El motivo, tan sencillo como fácil de solucionar. Magento retorna los resultados de […]
Eliminar filtros de la navegación por capas de Magento en algunas páginas
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: /** […]
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 […]
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 […]
Campo de texto sólo numérico con jQuery y expresiones regulares
En muchas webs se pueden encontrar tutoriales de validación de campos de formularios que se desea que sólo admitan valores numéricos. Al margen de la posterior validación del formulario, que siempre conviene realizar, una solución elegante al problema, si disponemos de jQuery, es evitar que el usuario introduzca caracteres no numéricos en el campo de […]
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 […]