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:
}
return $html;
}
+
+ /**
+ * Retrieve values of properties that unambiguously identify unique content
+ *
+ * @return array
+ */
+ public function getCacheKeyInfo()
+ {
+ $blockId = $this->getBlockId();
+ if ($blockId) {
+ $result = array(
+ $blockId,
+ Mage::app()->getStore()->getCode(),
+ );
+ } else {
+ $result = parent::getCacheKeyInfo();
+ }
+ return $result;
+ }
}
En app / code / core / Mage / Cms / Block / Widget / Block.php en la línea 82:
$helper = Mage::helper('cms');
$processor = $helper->getBlockTemplateProcessor();
$this->setText($processor->filter($block->getContent()));
+ $this->addModelTags($block);
}
}
unset(self::$_widgetUsageMap[$blockHash]);
return $this;
}
+
+ /**
+ * Retrieve values of properties that unambiguously identify unique content
+ *
+ * @return array
+ */
+ public function getCacheKeyInfo()
+ {
+ $result = parent::getCacheKeyInfo();
+ $blockId = $this->getBlockId();
+ if ($blockId) {
+ $result[] = $blockId;
+ }
+ return $result;
+ }
}
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.