Eu uso o magento EE 1.13.1.0 com tema personalizado, que é definido em Sistema-> Configuração-> Design-> Padrão.
O problema aparece quando usamos o Magento CMS Preview. Ele é exibido sem estilos de tema personalizados, porque, por padrão, a visualização magento usa o base/defaulttema.
Se eu editar a guia Design da página CMS e definir o Custom Themeatributo para algum tema personalizado, tudo funcionará. Mas não por padrão.
Alguém tinha esse problema antes? Talvez eu tenha perdido alguma configuração?
De qualquer forma, para corrigir esse problema, criei o observador e o anexei ao cms_page_renderevento para verificar se o Custom Themeatributo da página do CMS está definido. Caso contrário, use o tema padrão real :
public function setDefaultThemeForCmsPreview(Varien_Event_Observer $oObserver)
{
$oRequest = $oObserver->getControllerAction()->getRequest();
if (
$oRequest->getControllerName() == 'cms_page_revision' &&
$oRequest->getActionName() == 'drop'
) {
$oCmsPage = $oObserver->getPage();
if ($oCmsPage->getCustomTheme()) {
list($sPackage, $sTheme) = explode('/', $oCmsPage->getCustomTheme());
} else {
$sPackage = Mage::getStoreConfig('design/package/name');
$sTheme = Mage::getStoreConfig('design/theme/default');
}
Mage::getSingleton('core/design_package')
->setPackageName($sPackage)
->setTheme($sTheme);
}
}