Предварительный просмотр 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);
    }
}
oleksii.svarychevskyi
источник
2
Используя EE, вы оплатили поддержку Varien. Спросите их об этом, может быть, это ошибка, которую они исправят для вас.
ProxiBlue,
1
Для справки я поставил вышеупомянутый Обозреватель на место, и он, кажется, работает хорошо, пока Magento не предоставит
исправление
Вы можете опубликовать свое решение в качестве ответа и принять его.
Матиас Зейс

Ответы:

2

Я сталкивался с этой проблемой в Magento Enterprise 1.12.x - похоже, это ошибка в Magento, которая еще не была рассмотрена. Я полагаю, что мое исправление заключалось в редактировании AdminHTML, однако я считаю, что ваше решение более элегантно.

Фрэнсис Ким
источник
0

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

Файл CSS там не существует, поэтому возникла проблема. Может быть, это проблема.

Helphin
источник
Спасибо за ответ. Но перемещение стилей из текущей темы в `base \ default` не является хорошим решением проблемы. Прежде всего, это дублирование кода (вам нужно будет поддерживать два файла, если вам нужно внести изменения в стили). Вторым негативным моментом является то, что если вы смените тему, ваша проблема появится снова.
oleksii.svarychevskyi
Я думаю, что проблема возникла из-за отсутствия таблицы стилей, поэтому я просто скопировал стандартную тему CE css (styles.css) сюда. его работа в порядке. Даже я сменил тему, все работает нормально. Я не предполагаю, что это решение, это ошибка в EE.
Helphin