Programación

¿Qué es y para que sirve un bloque de Magento?

Muchos desarrolladores están familiarizados con el MVC (Modelo Vista Controlador); estilo de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos.

Cada módulo (cada directorio dentro de «app/code/ core/ Mage» ) contiene su controlador y su modelo pero las vistas se encuentran en «app/design/». Estos directorios también contienen ficheros adicionales, como «helpers», «etc» y «sql». Estos forman parte del contexto Zend Framework y no se discutirán en este artículo.

Uno de los fundamentos de la Programación orientada a objetos es la disociación. El código debe tener la menor cantidad de dependencia de otro código posible. Los bloques, como se explica a coninuación, son parte de la solución de Magento para mantener la aplicación acoplada.

Una introducción rápida y simplificada sobre MVC: Cuando se llama a una página en Magento, el router señala a que controlador hay que elegir, y este realiza la acción solicitada. Pongamos un ejemplo real: el controlador del catálogo es responsable de decirle a Magento que cargue una colección de productos y mostrarlos en su correspondiente vista . Para mostrarlos el contralador le dice a Magento que layout va a utilizar (en esta caso catalog.xml). Este determinará los módulos que se van a utilizar, que a su vez especifican las vistas que vamos a usar.Podemos decir que los bloques encajan más o menos entre la Vista y el Modelo.

Los conjuntos de módulos actuan como entidades pequeñas, que contiene (en su mayoría) su propio modelo MVC . Así, estos módulos (header, enlaces en header, mini carro, productos recientes , bloques estáticos HTML, pie de página) llaman a sus propias vistas.

En cualquier petición de una página dada, Magento tiene que ser capaz de mostrar un conjunto determinado de módulos. Para lograr esto es necesario una disociación entre el controlador (que se ocupa de la solicitud de página), los modelos y sus correspondientes vistas. Aquí es donde entran en juego los bloques. Los Bloques son los que habilitan esta disociación, permitiendo al módulo conseguir datos de sus modelos y enviarlos a las vistas que mostrarán los datos pertinentes. De esta forma cada área funcional de una página puede actuar por separado: podemos decir que el area Minicart aparezca en las páginas de productos pero no en páginas CMS, podemos pasarla de la derecha a la columna de la izquierda, al centro, a la cabecera, al pie de página, etc.

Entonces, ¿qué es exactamente un bloque? Un bloque es básicamente un recurso de datos para las vistas, una herramienta que permite a Magento colocar elementos de contenido( utiliza los modelos , coge los datos, realiza los ajustes necesarios, y luego se los da a una vista) o realizar una funcionalidad de forma modular.

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (Califica este artículo)
Cargando…

Dejar un comentario

¿Hablamos?

Una vez que has llegado aquí ¿tienes alguna duda? Déjame tus datos de contacto y te llamaré en el primer hueco que encuentre.

Contactar