Magento 1 Widget-Setup im Backend - wie bewege ich mich nach oben?

11

Ich habe ein Widget-Setup auf allen Kategorieseiten über Backend -> CMS -> Widgets

Wenn ich jetzt diese Methode verwende, wähle ich einen Block für Kategorieseiten aus und der Block wird gut angezeigt. Es befindet sich am Ende aller anderen Informationen in der linken Spalte.

Aber wie bewege ich den Block nach oben? (überlagert usw.) ...

Die Alternative ist zu verwenden local.xml, dass ich nicht bevorzuge + es wird dann auch auf ALLEN meinen Websites angezeigt, die das gleiche Thema verwenden.

snh_nl
quelle
3
Versuchen Sie möglicherweise, das custom layout updatesFeld in der Kategorie zu verwenden, um den Block hinzuzufügen und zu verwenden before=""oder after=""zu positionieren.
Rick Kuipers

Antworten:

12

Das Problem ist, dass Magento keinen Widget-Container oben in der linken Spalte hat. Sie können einen solchen Container in zwei Schritten erstellen:

  1. Erstellen Sie Ihren Widget- Blockcontainer in der Datei local.xml :

    <layout>
       <!-- category pages with layered navigation -->
       <catalog_category_layered>
            <update handle="custom_top_container" />
       </catalog_category_layered>
       <!-- category pages without layered navigation -->
       <catalog_category_default>
            <update handle="custom_top_container" />
       </catalog_category_default>
       <!-- custom block container on that page -->
       <custom_top_container>
            <reference name="left">
               <block name="left_top" type="core/text_list" before="-" translate="label">
                    <label>Left Column Top</label>
               </block>
            <reference>
       </custom_top_container>
    </layout>

    Im folgenden Beispiel sind catalog_category_default und catalog_category_layered die Handles für Kategorieseiten, und das custom_top_container- Handle wird durch die Anweisung zum Aktualisieren des Layouts in diese Seiten aufgenommen . Der neue Block left_top ist eine Art von Mage_Core_Block_Text_List , die die verkettete Ausgabe der ihm zugewiesenen untergeordneten Blöcke anzeigt. Sie ist also leer, wenn kein Widget hinzugefügt wird. Wenn das Layout für die Widget-Konfiguration bereit ist, überprüfen Sie den nächsten Schritt.

  2. Erstellen Sie die Datei widget.xml im Verzeichnis etc Ihres Themas (wenn Sie diese Konfiguration nicht aus dem von Ihnen erweiterten Thema beibehalten möchten, müssen Sie sie von diesem Thema in Ihr Thema kopieren). Diese widget.xml sollte zusätzliche Informationen enthalten, damit Magento weiß, welche Widgets Ihren neu erstellten Container unterstützen:

    <widgets>
        <[widget_id]>
            <supported_blocks>
                <left_column_top>
                    <block_name>left_top</block_name>
                </left_column_top>
             </supported_blocks>
        </[widget_id]>
    </widgets>

    Diese Konfigurationsdatei informiert Magento darüber, welche Blöcke zum Abrufen möglicher Container im Admin-Bereich verwendet werden können.

Sie können im Admin-Bereich den Container für die linke Spalte oben für die Aktualisierung des Widget-Layouts auswählen .

Ivan Chepurnyi
quelle
Danke Ivan. Und myabe der beste Weg - wenn wir sowieso local.xml bearbeiten - ist, auch sofort den CMS-Block aufzurufen (nur ein kleines Bild, das oben links
gedacht war
2

Sie können versuchen, diesen Block mit aufzurufen

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('BLOCK_ID_HERE')->toHtml() ?>

Fügen Sie den obigen Code ein in:

frontend / default / YOURTHEME / template / catalog / navigation / sidebar.phtml

über dem Code, der das Katalogmenü anzeigt.

Um zu verhindern, dass es auf verschiedenen Websites angezeigt wird, verwenden Sie unterschiedliche Themen pro Website.

Thomas Mongan
quelle