カスタムテーマを使用する場合のスタイルなしのCMSプレビュー


10

System-> Configuration-> Design-> Defaultで設定されたカスタムテーマでmagento EE 1.13.1.0を使用しています。

Magento CMSプレビューを使用すると問題が発生します。デフォルトでは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 2014

1
記録として、上記のオブザーバーを配置しました
。Magento

ソリューションを回答として投稿し、それを受け入れることができます。
Matthias Zeis 14

回答:


2

私はMagento Enterprise 1.12.xでこの問題に遭遇しました-まだ調べられていないMagentoのバグのようです。私の修正はAdminHTMLを編集することでしたが、あなたのソリューションはよりエレガントだと思います。


0

同じ問題が発生しました。「styles.css」をコピーして「\ skin \ frontend \ base \ default \ css」フォルダに貼り付けるだけで、問題が解決しました。

CSSファイルが存在しないため、問題が発生しました。これが問題かもしれません。


答えてくれてありがとう。しかし、現在のテーマから `base \ default`にスタイルを移動することは問題の良い修正ではありません。まず、これはコードの複製です(スタイルを変更する必要がある場合は、2つのファイルをサポートする必要があります)。2番目のマイナス点は、テーマを変更すると、問題が再び発生することです。
oleksii.svarychevskyi 14

問題はスタイルシートがないために発生したので、CEのデフォルトのテーマcss(styles.css)をここにコピーしました。その仕事はうまくいきます。テーマを変えてもうまくいきます。これが解決策であることはお勧めしません。これはEEのバグです。
Helphin
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.