Tengo un nuevo trabajo donde trabajo estrictamente en Magento todos los días ahora. No tengo experiencia previa con Magento, ¡así que ha sido un desafío decir lo menos hasta ahora!
Permítanme explicar brevemente la extensión que estamos construyendo.
Nos permitirá mostrar una ventana emergente / modal. El contenido HTML del Modal se almacenará en
unStatic Block
PÁGINA DE ADMINISTRADOR
Por lo tanto, el panel de administración consta de una nueva pestaña en System/Confuration/NUEVA PESTAÑA
El panel de administración le permite seleccionar en una lista desplegable en esa NUEVA PÁGINA DE PESTAÑAS el valor predeterminado Static Blockpara usar en estas secciones ...
HOME PAGEo HOME PAGE w/Items in Shopping Cart
ALL CATEGORY PAGESo ALL CATEGORY PAGES w/Items in Shopping Cart
ALL PRODUCTS PAGESo ALL PRODUCTS PAGES w/Items in Shopping Cart
ALL CMS PAGESo ALL CMS PAGES w/Items in Shopping Cart
SHOPPING CART PAGEo SHOPPING CART PAGE w/Items in Shopping Cart
VALORES POR DEFECTO
A continuación, las páginas reales de CMS , CATEGORÍA y PRODUCTO permiten la misma configuración que la página del Panel de administración, excepto que le permiten establecer STATIC BLOCKuna por elemento y anular la configuración predeterminada que teníamos en la configuración de administración anterior .
Hasta ahora tenemos el lado de administración de la extensión hecho. Tenemos todas las pestañas de administración para cada sección ... producto, categoría, CMS y página de configuración.
El siguiente paso será agregar a la misma extensión y hacer una Static Blockinserción en la página. Esto Static Blockserá responsable de ... Mostrar la correcta Static Blocken cada página según la configuración establecida en las áreas mencionadas ...
- Determinar la página en la que estamos y el tipo de página (cms, producto, inicio, categoría)
- Luego tendrá que leer todas las configuraciones personalizadas que se establecieron en las áreas mencionadas anteriormente.
- Si se determina que estamos en una
Categorypágina, tendremos que obtener la categoría específica real en la que estamos. Por ejemploCategory 3. Luego veremos si hay una configuración específica para esa categoría específica. ¡Si diceEnabledque buscaremos cuálStatic Blockestá guardado para esa categoría y lo mostraremos en nuestraStatic Blockpágina principal! - Si la categoría específica anterior se establece como
DisablednuestraModal Window, buscaremos más arriba en las configuraciones más globales para el modal y veremos si un modal está habilitado para todas las categorías. En caso afirmativo, veremos cuálStatic Blockestá configurado para mostrarse en todas las categorías. - Además de todo esto, realizará este proceso para cada uno de los tipos de página principal (producto, categorías, cms, inicio, carrito)
- También tendremos que verificar si el carrito de compras está vacío o no. SI no está vacío ... entonces tendremos que tenerlo en cuenta antes cuando comprobemos qué
Static Blockmostrar para esa página, ya que cada configuración permiteStatic Blockestablecer un carro vacío y 1 para el carro no vacío. (Sé que esta es una tarea enorme y difícil, pero tenemos el lado del administrador hecho principalmente. Solo necesito hacer la parte que tenga en cuenta a todos para determinar quéStatic Blockmostrar en qué página en particular.
Entonces, para llevarme en la dirección correcta, tengo un par de preguntas más pequeñas ...
- ¿Cómo puedo determinar dentro de mi
Static Blockcódigo (la parte PHP) en qué TIPO de PÁGINA estoy? Como mencioné, necesito saber si estoy en ... PÁGINA DE INICIO , PÁGINA DE CMS , PÁGINA DE CATEGORÍA , PÁGINA DE PRODUCTO o PÁGINA DE CARRITO . - Además del TIPO DE PÁGINA , necesito obtener la página real. Entonces, si estoy en la identificación del producto 1234, entonces necesito poder obtener la configuración (bloque estático establecido para esa página) para esa página en particular.
Sé que ha sido una publicación larga y posiblemente confusa. Si llegaste hasta aquí, gracias por tomarte tu tiempo para leer esto =)
Si puedes ayudarme con mi pregunta, cada pequeño trozo me acercará al objetivo final
A continuación hay un diagrama de flujo que hice sobre cómo necesitará trabajar mi módulo para determinar qué bloque estático insertar en la página

Mage_Widget? Necesito investigar eso también
Mage_Widgetmódulo, ¿verdad?