ฉันใช้ magento EE 1.13.1.0 กับชุดรูปแบบที่กำหนดเองซึ่งตั้งอยู่ในระบบ -> การตั้งค่า -> การออกแบบ -> ค่าเริ่มต้น
ปัญหานี้จะปรากฏขึ้นเมื่อเราใช้ Magento CMS Preview มันถูกแสดงโดยไม่มีลักษณะธีมที่กำหนดเองเนื่องจากโดยค่าเริ่มต้นตัวอย่างการดูวีโอไอพีใช้base/default
ธีม
ถ้าฉันแก้ไขแท็บออกแบบของหน้า CMS และตั้งค่าCustom Theme
แอตทริบิวต์เป็นชุดรูปแบบที่กำหนดเองทุกอย่างจะทำงาน แต่ไม่ใช่โดยค่าเริ่มต้น
มีคนที่เคยมีปัญหานี้มาก่อนหรือไม่ บางทีฉันอาจพลาดการตั้งค่าบางอย่าง?
อย่างไรก็ตามเพื่อแก้ไขปัญหานี้ฉันได้สร้างผู้สังเกตการณ์และแนบกับcms_page_render
เหตุการณ์เพื่อตรวจสอบว่าCustom Theme
มีการตั้งค่าแอตทริบิวต์ของหน้า CMS ถ้าไม่ใช้ชุดรูปแบบเริ่มต้นจริง :
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);
}
}