Cuando actualicé a EE 1.14.2, la mayoría de las cosas salieron bien, pero me encontré con un problema cuando comencé a revisar mis diversas páginas frontend. Tengo un nodo de catálogo con varias subcategorías y cada una de ellas tiene un bloque estático diferente que se muestra en ellas. Después de la actualización, la página que se haya accedido primero después de un vaciado de caché terminaría mostrándose en todas las páginas diferentes.
No sé si este mismo problema estará presente cuando se publique CE 1.9.2, pero quería poner mi solución aquí para aquellos que puedan encontrar este mismo problema.
ACTUALIZACIÓN: Como se confirmó aquí, el mismo problema surgió en CE 1.9.2
Respuestas:
Como se trataba de EE, pude utilizar el soporte de Magento, pero también resolví las cosas por mi cuenta para ayudar a enfocar el problema y obtener una solución lo más rápido posible. Magento proporcionó los cambios de código, por lo que aplicarlos a los archivos de la aplicación / código / núcleo está bien, aunque siempre podría duplicar los archivos en su / app / code / local y aplicar los cambios allí.
El problema era que el método de almacenamiento en caché de bloques que se agregó en 1.14.2 no generaba una clave de caché única, por lo que cuando utilicé varios bloques en el espacio del controlador de categoría, la clave de caché generada terminó siendo única solo para el primer golpe de página, resultando en todas esas páginas para mostrar contenido duplicado.
La solución fue agregar lo siguiente (se muestra en formato de archivo diff para mostrar el contexto que rodea las adiciones; solo agregue las líneas con el + a donde deben ir):
En app / code / core / Mage / Cms / Block / Block.php en la línea 72:
En app / code / core / Mage / Cms / Block / Widget / Block.php en la línea 82:
No creo que sea el único en ver este problema y si aparece en CE 1.9.2, espero que esto ayude a resolverlo para algunas personas.
fuente
¡Creo que es necesario crear un módulo personalizado porque todos saben que Magento Boogieman lo atrapará! si cambia el núcleo :)
Necesitará los siguientes archivos:
app/etc/modules/Bhupendra_Cms.xml
app/code/local/Bhupendra/Cms/etc/config.xml
app/code/local/Bhupendra/Cms/Block/Block.php
app/code/local/Bhupendra/Cms/Block/Widget/Block.php
Para obtener más información, puede visitar el siguiente blog y también puede descargarlo https://www.milople.com/blogs/ecommerce/solved-magento-static-block-display-issue.html
fuente
Hay un problema más con el almacenamiento en caché de bloques CMS, que no se soluciona con el código dado desde arriba.
Si está utilizando URL seguras y etiquetas {{media}} en sus bloques de CMS, recibirá un mensaje de "Advertencia de contenido inseguro" del navegador, ya que Magento sirve enlaces inseguros de la memoria caché.
Para resolverlo, debe agregar una etiqueta de información de caché más, como
fuente
Este error también se puede solucionar con esta pequeña extensión (no es necesario editar archivos principales ni reescribir bloques):
https://github.com/progammer-rkt/Rkt_SbCache
Y también contiene la línea mencionada por @AdvancedLogic para evitar advertencias de contenido inseguro:
(int)Mage::app()->getStore()->isCurrentlySecure()
fuente