Volvemos a la carga esta semana con algunas cosas que me han llamado la atención (oye, que no tienen que ser nuevas, lo mismo me he enterado ahora y soy el último en enterarme, o es algo que merece ser recordado).
Anteriormente vimos cómo crear un plugin para Magento y cómo crear un controlador para Magento. Ahora le toca el turno al modelo. Intentaré poner con todo detalle todo el proceso. Por eso, vamos a editar app/code/local/NuestraEmpresa/nuestroPlugin/etc/config.xml, en nuestro ejemplo app/code/local/Poesia/HolaMundo/etc/config.xml para indicar que vamos a crear modelos y las conexiones de base de datos que se deben utilizar para el acceso. He pegado el archivo entero, pero indico con un comentario las novedades:
<?xmlversion="1.0"encoding="UTF-8"?> <!-- Opcionalmente podemos poner un comentario contando qué hace nuestro módulo, nuestra web, información sobre la licencia, etc --> <config> <modules> <Poesia_HolaMundo><!-- namespace_modulo -->
<!-- Esta es la versión de nuestro módulo --> <version>0.0.1</version>
</Poesia_HolaMundo> </modules>
<frontend> <!-- Lo que necesitamos para utilizar los controladores --> <routers> <holaMundo> <use>standard</use> <args> <module>Poesia_HolaMundo</module> <frontName>hm</frontName> </args> </holaMundo> </routers> <!-- Lo que necesitamos para utilizar los controladores --> <!-- Lo que necesitamos para el layout y las plantillas --> <layout> <updates> <holamundo> <file>poesia.xml</file> </holamundo> </updates> </layout> <!-- Lo que necesitamos para el layout y las plantillas --> </frontend> <!-- Necesario para informar a Magento sobre nuestro modelo --> <global> <models> <holamundo> <class>Poesia_Holamundo_Model</class> <resourceModel>holamundo_resource</resourceModel> </holamundo> <holamundo_resource> <class>Poesia_HolaMundo_Model_Resource</class> <entities> <pventamod> <table>poesia_postvtable</table> </pventamod> </entities> </holamundo_resource> </models> <resources> <holamundo_setup> <setup> <module>Poesia_HolaMundo</module> </setup> <connection> <use>core_setup</use> </connection> </holamundo_setup> <holamundo_write> <connection> <use>core_write</use> </connection> </holamundo_write> <holamundo_read> <connection> <use>core_read</use> </connection> </holamundo_read> </resources>
</global> <!-- Necesario para informar a Magento sobre nuestro modelo --> </config>
Ahora creamos el modelo (le intento dar a todo nombres diferentes para que veamos qué es cada cosa).… Leer artículo completo
Hace un tiempo comentábamos cómo crear un plugin para Magento. Ahora, vamos a completar ese plugin creando un controlador (y nos metermos ligeramente con las plantillas) para crear algo funcional dentro de nuestra instalación de Magento.
Antes de nada, advertir que el tema de las mayúsculas y minúsculas tanto en nombres de archivos como nombres de módulos es un poco delicado, por lo que si queremos curarnos en salud, debemos elegir un nombre lo más sencillo posible.… Leer artículo completo
Cuando estás haciendo muchos cambios en una instalación de Magento, debes borrar la caché a menudo. Un caso especial es si utilizas scripts periódicos para actualizar listas de precios o stock, en ese caso debes programar también el borrado de cachés.
Este pequeño script ha sido visto en muchas webs por lo que no me extenderé mucho y mencionaré dos fuentes donde podéis consultarlo (os invito a visitar estas páginas porque amplían la información que veis aquí).… Leer artículo completo
Para dar flexibilidad a nuestros desarrollos con Magento y con el fin de permitir a los usuarios administradores cambiar fácilmente el contenido de su tienda hecha con Magento. Una buena opción es facilitar bloques estáticos de CMS dentro de nuestras plantillas. Por ejemplo, podemos empotrar un texto dedicado a la manipulación y al envío dentro de cada producto; o, es más, podemos tener varios modelos de bloques de manipulación y envío y que sea un atributo del artículo el que decida qué bloque mostrar.… Leer artículo completo
Puede ser muy útil, sobre todo cuando estamos creando o modificando las plantillas principales de nuestro tema en Magento saber si la página actual se trata de una página de CMS. Esto lo podemos saber muy fácilmente con:
1
$route= Mage:app()->getRequest()->getRouteName();
La variable route tendrá el valor «cms» si se trata de una página CMS, o podrá obtener el valor de la ruta del controlador actual (dependiendo de si estamos en el carrito, página de categoría, producto, dentro de un plugin, etc).… Leer artículo completo
Cuando estamos trabajando con Magento, en ocasiones necesitamos conocer si actualmente nos encontramos en la home de nuestro sitio o en cualquier otra página. Normalmente, la home, tendrá un diseño diferente y por eso debemos diferenciarla de las demás.
Para ello, desde Magento 1.5+ tenemos una función que nos puede ayudar mucho en esta misión. Si nos encontramos en el header.phtml podemos comprobarlo llamando a:
1 2 3 4
if($this->getIsHomePage()) echo"Estoy en la HOME"; else echo"No estoy en la HOME";
Pero si nos encontramos en cualquier otra plantilla, tenemos que llamar a esa misma función que se encuentra en el header, para ello obtenemos el singleton del header y se lo preguntamos:
1 2 3 4
if(Mage::getBlockSingleton('page/html_header')->getIsHomePage()) echo"Estoy en la HOME"; else echo"No estoy en la HOME";
O también podemos asignar el valor de Mage::getBlockSingleton(‘page/html_header’)-getIsHomePage() a una variable local y utilizar su valor en nuestra plantilla.… Leer artículo completo
Tarde o temprano lo ibas a necesitar (y lo sabes), y es que una vez que hemos instalado Magento y, aunque es muy completo siempre surgen necesidades un tanto especiales, y estas necesidades las podemos suplir creando plugins o módulos para este sistema.
¿Por qué?
Magento es muy extensible, nos permite hacer miles de cosas para ampliar su funcionamiento, pero está feo ponerse a toquetear el código base de Magento (o de alguna extensión que nos bajemos) porque si actualizamos cualquiera de ellos y actualizamos, podremos perder nuestro trabajo al sobreescribir los archivos.… Leer artículo completo
Magento es un software hecho en PHP para gestión integral de e-commerce. [Link a wikipedia]. Existen una versión comercial y una versión open, llamada Community Edition, y es esta última con la que vamos a experimentar.
Hay miles de guías por Internet para instalar Magento. Esta no pretende ser la más completa, pero sí una chuleta rápida para mis futuras instalaciones y experimentos. Aunque me alegraré mucho si a alguien le resulta útil.… Leer artículo completo
Si te ha gustado el sitio, te ha resultado útil o simplemente quieres colaborar con el sitio para que siga compartiendo contenidos, invítame a un café, una pizza, una ensalada, o lo que se te ocurra.Te lo agradeceré eternamente :)
¡Atención! Este sitio utiliza cookies propias y de terceros para mejorar la experiencia de usuario, Si continúa la navegación en el sitio, asumo que estás de acuerdo con esto, aunque siempre puedes desactivar las cookies en tu navegador. AceptarLeer más
Últimos comentarios