Como era EE, pude utilizar o suporte do Magento, mas também resolvi as coisas sozinho para ajudar a focar o problema e obter uma solução o mais rápido possível. As alterações de código foram fornecidas pelo Magento, portanto, aplicá-las aos arquivos reais do aplicativo / código / núcleo é bom, embora você sempre possa duplicar os arquivos no seu / app / code / local e aplicar as alterações lá.
O problema era que o método de armazenamento em cache em bloco que foi adicionado na 1.14.2 não estava gerando uma chave de cache exclusiva; portanto, quando eu tinha vários blocos usados no espaço do controlador de categoria, a chave de cache gerada acabou sendo exclusiva apenas para a primeira página atingida, resultando em todas essas páginas para mostrar conteúdo duplicado.
A correção foi adicionar o seguinte (exibido no formato de arquivo diff para mostrar o contexto em torno das adições - basta adicionar as linhas com o + onde elas precisam ir):
Em app / code / core / Mage / Cms / Block / Block.php na linha 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;
+ }
}
Em app / code / core / Mage / Cms / Block / Widget / Block.php na linha 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;
+ }
}
Eu não acho que seria o único a ver esse problema e, se ele aparecer na CE 1.9.2, espero que isso ajude a resolvê-lo para algumas pessoas.