Tôi sử dụng magento EE 1.13.1.0 với chủ đề tùy chỉnh được đặt trong System-> Cấu hình-> Thiết kế-> Mặc định.
Vấn đề xuất hiện khi chúng tôi sử dụng Magento CMS Preview. Nó được hiển thị mà không có kiểu chủ đề tùy chỉnh, bởi vì mặc định magento xem trước sử dụng base/default
chủ đề.
Nếu tôi chỉnh sửa tab Thiết kế của Trang CMS và đặt Custom Theme
thuộc tính cho một số chủ đề tùy chỉnh, mọi thứ sẽ hoạt động. Nhưng không phải mặc định.
Có ai đó vấn đề này trước đây? Có lẽ tôi đã bỏ lỡ một số cấu hình?
Dù sao để khắc phục sự cố này, tôi đã tạo người quan sát và gắn nó vào cms_page_render
sự kiện để kiểm tra xem Custom Theme
thuộc tính của trang CMS có được đặt hay không. Nếu không, sau đó sử dụng chủ đề mặc định thực sự :
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);
}
}