Frage

Gibt es eine Möglichkeit, Konfigurationspfadvariablen in statischen Blöcken zu verschachteln?Ich versuche, auf das Logobild zuzugreifen und habe mir gedacht, dass der beste Weg, dies zu tun, so etwas wie {{skin url='{{config path="design/header/logo_src"}}'}} wäre, aber das ist nicht der Fall scheinen zu funktionieren.Sollte ich den Skin-Pfad fest codieren oder gibt es eine andere Möglichkeit, dies zu tun?Danke!

War es hilfreich?

Lösung

Leider weiß der Direktiven-Parser nicht, wie man Direktiven innerhalb von Direktiven analysiert.

Also {{skin url='{{config path="design/header/logo_src"}}'}} wird nicht analysiert.
Sie können jedoch Ihren eigenen Direktivenparser erstellen und etwa Folgendes verwenden:

{{skinconfig path="design/header/logo_src"}}

Dazu müssen Sie die Datei neu schreiben Mage_Widget_Model_Template_Filter Modell.
Hier ist eine schöne Erklärung, wie das geht..

Und Sie müssen Ihrer neuen Klasse eine Methode wie diese hinzufügen (ungetesteter Code):

public function skinconfigDirective($construction) {
    $configValue = '';
    $params = $this->_getIncludeParameters($construction[2]);
    $storeId = $this->getStoreId();
    if (isset($params['path'])) {
        $configValue = Mage::getStoreConfig($params['path'], $storeId);
        return Mage::getDesign()->getSkinUrl($configValue);
    }
    //in case there is no path specified return nothing.
    return '';
}

Andere Tipps

Dieser Thread ist alt, aber ich wollte heute eine ähnliche Sache tun.

Nicht sicher, dass dies die beste -Lösung ist, aber Sie können dies auch tun

<img src="{{skin url=''}}{{config path='design/header/logo_src'}}">.

Beachten Sie, dass Sie möglicherweise whitelist diese Variablen / Blöcke aufgrund der in Supere-6788 / Magento-CE 1.9.2.2 / Magento-EE 1.14.2.2 eingeführten Änderungen benötigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top