Попередній перегляд CMS без стилів при користуванні власною темою


10

Я використовую magento EE 1.13.1.0 із власною темою, яка встановлена ​​в System-> Configuration-> Design-> Default.

Проблема з’являється, коли ми використовуємо Magento CMS Preview. Він відображається без спеціальних стилів тем, тому що за попереднім переглядом magento використовується 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);
    }
}

2
Використовуючи EE, ви заплатили підтримку компанії Varien. Запитайте їх про це, може бути помилка, яку вони виправлять за вас.
ProxiBlue

1
Для запису я поставив вищезгаданого Спостерігача на місце, і, здається, він працює добре, поки виправлення не зможе надати Magento
jharrison.au

Ви можете опублікувати своє рішення як відповідь і прийняти його.
Маттіас Зейс,

Відповіді:


2

Я натрапив на цю проблему в Magento Enterprise 1.12.x - це, мабуть, помилка Magento, яку не переглядали. Я вважаю, що моя помилка полягала в редагуванні AdminHTML, однак я вважаю, що ваше рішення є більш елегантним.


0

Ту ж проблему, що і я, для цього я просто скопіював "styles.css" і вставив її у папку "\ skin \ frontend \ base \ default \ css", після чого проблему вирішено.

Файлу css там не існує, тому виникла проблема. Можливо, це проблема.


Дякую за відповідь. Але переміщення стилів з вашої поточної теми до `base \ default '- це не добре вирішити проблему. Перш за все, це дублювання коду (вам потрібно буде підтримати два файли, якщо вам потрібно внести зміни в стилі). Другий негативний момент полягає в тому, що якщо ви зміните тему, ваша проблема з’явиться знову.
oleksii.svarychevskyi

Я думаю, що проблема викликана відсутністю аркуша стилів, тому я просто скопіював тут тему css (styles.css) за замовчуванням. його робота чудово. Навіть я змінив тему, її добре працює. Я не припускаю, що це рішення, це помилка в EE.
Гельфін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.