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/default
tema.
Se eu editar a guia Design da página CMS e definir o Custom Theme
atributo 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_render
evento para verificar se o Custom Theme
atributo 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);
}
}