CMS-Vorschau ohne Stile bei Verwendung eines benutzerdefinierten Designs

10

Ich verwende Magento EE 1.13.1.0 mit einem benutzerdefinierten Design, das unter System-> Konfiguration-> Design-> Standard festgelegt ist.

Das Problem tritt auf, wenn wir Magento CMS Preview verwenden. Es wird ohne benutzerdefinierte Designstile angezeigt, da standardmäßig die Magento-Vorschau das Design verwendet base/default.

Wenn ich die Registerkarte Design der CMS-Seite bearbeite und das Custom ThemeAttribut einem benutzerdefinierten Thema zuordne, funktioniert alles. Aber nicht standardmäßig.

Hatte jemand dieses Problem schon einmal? Vielleicht habe ich eine Konfiguration verpasst?

Um dieses Problem zu beheben, habe ich einen Beobachter erstellt und ihn an das cms_page_renderEreignis angehängt, um zu überprüfen, ob das Custom ThemeAttribut der CMS-Seite festgelegt ist. Wenn nicht, verwenden Sie ein echtes Standardthema:

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
quelle
2
Mit EE haben Sie Unterstützung bei Varien bezahlt. Fragen Sie sie danach, könnte ein Fehler sein, den sie für Sie beheben werden.
ProxiBlue
1
Für die Aufzeichnung habe ich den obigen Observer
installiert
Möglicherweise möchten Sie Ihre Lösung als Antwort veröffentlichen und akzeptieren.
Matthias Zeis

Antworten:

2

Ich bin auf dieses Problem in Magento Enterprise 1.12.x gestoßen - es scheint sich um einen Magento-Fehler zu handeln, der nicht untersucht wurde. Ich glaube, meine Lösung bestand darin, das AdminHTML zu bearbeiten, aber ich glaube, Ihre Lösung ist eleganter.

Francis Kim
quelle
0

Das gleiche Problem, das ich bekam, dafür habe ich einfach "styles.css" kopiert und in den Ordner "\ skin \ frontend \ base \ default \ css" eingefügt, dann wurde das Problem gelöst.

Die CSS-Datei ist dort nicht vorhanden, daher ist das Problem aufgetreten. Vielleicht ist das das Problem.

Helphin
quelle
Danke für die Antwort. Das Verschieben von Stilen von Ihrem aktuellen Thema nach "base \ default" ist jedoch keine gute Lösung für das Problem. Zunächst ist dies eine Codeduplizierung (Sie müssen zwei Dateien unterstützen, wenn Sie Änderungen an Stilen vornehmen müssen). Der zweite negative Punkt ist, dass Ihr Problem erneut auftritt, wenn Sie das Thema ändern.
oleksii.svarychevskyi
Ich denke, das Problem, das durch das Fehlen eines Stylesheets verursacht wurde, also habe ich gerade das CE-Standardthema css (styles.css) hierher kopiert. seine Arbeit gut. Sogar ich habe das Thema geändert, es funktioniert gut. Ich schlage nicht vor, dass dies die Lösung ist, dies ist ein Fehler in EE.
Helphin