Zweites Menü im Header

hallo liebe community! ist es möglich ein zweites horizontales menü, dass auf shopseiten linkt oben im header zu platzieren? bevorzugter weise über dem main menu für das menü selbst brauche ich dann warscheinlich eine foreach schleife wie in der /frontend/index/menu_footer.tpl [code]

{foreach from=$sMenu.gBottom2 item=item key=key name=„counter“} - [{$item.description}]({if $item.link}{$item.link}{else}{url controller=‚custom‘ sCustom=$item.id title=$item.description}{/if} „{$item.description}“)
{if !$smarty.foreach.counter.last}|{/if} {/foreach} [/code] aber wo das menü platzieren - also in welcher tpl und welchem block - und wie horizontal machen? :wtf: danke für eure hilfe! :slight_smile: nux

Also erstmal: [quote] aber wo das menü platzieren - also in welcher tpl und welchem block [/quote] Welches Template verwendest du denn? Was ist im Backend eingestell? Das Default-Template oder ein emotion-Template? -> Bei Shopware ist das Default-Template das alte Template. Das neue mit den verbesserten Funktionsumfang ist das emotion-Template. Dieses solltest du auch benutzen und anpassen. Das Emotion-Template basiert jedoch auf dem Default-Template und überschreibt die Blöcke in der _default/frontend/xxx/*.tpl mit dem was in dem Block in der _emotion/frontend/xxx/*.tpl steht. Dann kommen die emotion-Variationen (z.B. emotion_green) und überschreiben den Inhalt der in einem Block der _emotion/frontend/xyz/*.tpl oder _default/frontend/xyz./*.tpl steht dann, wenn der gleiche Block(name) in emotion_green/frontend/xyz/*.tpl vorhanden ist. Jetzt kommst du und willst da was ändern. Damit da nicht die Übersicht flöten geht und damit Shopware nicht deine Änderungen überschreibt bei einem Update welches eines der Templates auch betrifft gibt es die Ordner _local und _emotion_local im Templates-Ordner. Diese Überschreiben immer in letzter Instanz die Blöcke der vorherigen aktiven Templates und werden bei einem update von Shopware NICHT überschrieben. Alle Änderungen an dem Template die du hier vornimmst sind dann also quasi update-sicher. Der Ordner _local überschreibt das Default-Template und der Ordner _emotion_local das emotion-Template - oft reicht es aus nur den Ordner _emotion_local für Änderungen zu benutzen. Um mit den local-Ordnern arbeiten zu können erstellst du einen Ordner “frontend” in dem jeweiligen Ordner (i.d.R. _emotion_local) und baust da drinnen die Ordner-Struktur nach - natürlich nur die, die du auch tatsächlich ändern willst. Um einen Inhalt eines Blocks komplett zu ändern suchst du dir die Seite heraus die du ändern möchtest - z.B. die mainNavigation die bei allen Seiten angezeigt wird liegt in /templates/_emotion/frontend/index/categories_top.tpl und dort den Block den du ändern möchtest (falls er dort nicht existiert, dann wird der original Block vom default-Template verwendet). Diese Ordner-Struktur baust du nun nach. Die Datei /templates/_emotion_local/frontend/index/categories_top.tpl erst einmal erstellen. Oben in die Datei ganz am Anfang in die erste Zeile kommt: {extends file="parent:frontend/index/categories\_top.tpl"} Damit sagst du Shopware, dass diese Datei alles von der Eltern-Datei ausführt, bis auf die Blöcke die du hier drinnen änderst. In deinem Fall gibt es keinen Block du änderst einfach die categories_top.tpl und setzt vor [code]

[/code] deinen HTML-Code. Der Vollständigkeit halber hier wie man Blocks ändert (nicht auf dein Beispiel bezogen): Um den Inhalt eines Blocks komplett zu ändern wird dieser einfach verwendet: {block name='frontend\_index\_checkout\_actions'}{/block} Jetzt wird der Inhalt dieses Blocks mit nichts ersetzt, weshalb an dieser Stelle kein Checkout mehr angezeigt wird. Mit [code]{block name=‘frontend_index_checkout_actions’}

Hallo

{/block}[/code] wird dann eben “Hallo” ausgegeben. Wenn du den Originalen Block verwenden willst, aber davor oder dahinter noch etwas eigenes anfügen möchtest, dann kann man so etwas wie append oder prepend verwenden: [code]{block name=‘frontend_index_checkout_actions’ append}

Hallo

{/block}[/code] Jetzt bleibt der Checkout angezeigt, nur ein “Hallo” wird noch im Anschluss eingefügt. OK, Jetzt wieder zurück zu deinem Beispiel: Jetzt willst du bestimmt auch ein bischen am Styling drehen in den *.css-Dateien. Dazu musst du die Datei /templates/_emotion_local/frontend/index/header.tpl anlegen und in die erste Zeile kommt wieder: {extends file="parent:frontend/index/header.tpl"} - nur jetzt eben mit “header.tpl” Der Block “frontend_index_header_css_screen” in der header.tpl regelt die Einbindung der css-Dateien. Diesen erweiterst du jetzt so, dass deine eigene *.css (nennen wir sie eigenesStyling.css) auch mit eingebunden wird: {block name="frontend\_index\_header\_css\_screen" append} <link type="text/css" media="screen, projection" rel="stylesheet" href="%7Blink%20file='frontend/_resources/styles/eigenesStyling.css'%7D">{/block} Diese Datei müssen wir natürlich noch im local-Ordner erstellen. Also erstellen wir die Datei: /templates/_emotion_local/frontend/_resources/styles/eigenesStyling.css. Hier drinnen kannst du nun die css-Styles der Templates überschreiben, ganz wie gewohnt weil es sind ja CASCADING style sheets. Jetzt bist du auf dem Stand an dem du das Template ändern kannst so wie du es willst. http://wiki.shopware.de/Template-Cheats … _1014.html und http://wiki.shopware.de/Schnelleinstieg … l_876.html sollten dir jetzt weiter helfen. PS: mit den Firefox Plugins firebug und firephp und aktiviertem Shopware Debug Plugin (im Backend unter Einstellungen->Plugin Manager->Shopware Erweiterungen kann es aktiviert werden) bekommt man einen guten Eindruck davon (wenn man auf den Konsolen/Console ausdruck kuckt) wo sich die *.tpl denn befindet die man jetzt bearbeiten möchte. Außerdem zeigt einem die Plugin-Kombination auch an welche Variablen in diesem Bereich des Shopware-Frontends im Template zur Verfügung stehen. PPS: [quote]und wie horizontal machen?[/quote] generell styled man eine liste horizontal indem man die einzelnen Listenelemente nach links floaten lässt und im Anschluss ein clear: left; ausführt.

1 „Gefällt mir“