Shopware Knowledgebase

Dieser Artikel ist noch nicht für Shopware 3.5 geprüft bzw. freigegeben.
Shopware Labs

Der Bereich Shopware Labs ist die Plattform für alle Entwickler. Hier findet man technische Dokumentationen und zahlreiche Tipps und Tricks rund um das Thema Programmieren. In dieser Rubrik stellen außerdem die Entwickler der shopware AG neue und experimentelle Lösungsansätze vor. Neue Funktionen, die in dieser Rubrik bereitgestellt werden, sind teilweise auch für zukünftige Releases geplant. Die Funktionen können dann ohne Programmierkenntnisse zukünftig direkt im Shopware Backend konfiguriert werden oder werden über Plugins bereitgestellt. Informationen über neue, geplante Funktionen finden Sie in unserer Roadmap.

Bitte beachten Sie, dass die hier bereitgestellten Lösungsansätze nicht offiziell supportet werden und nur eingebaut werden sollten, sofern Sie über das entsprechende, technische Wissen verfügen.

Shopware Template Gestaltung Einfuehrung

1 Kommentare
ab Version:3.0 bis Version:3.03

Templatestruktur

Ordnerstrukturen

Wie bereits in älteren Shopware Versionen ist die Ordnerstruktur sehr klar gegliedert. Alle Anpassungen des Templates werden im Ordner "templates" vorgenommen, welchen Sie direkt im root-Verzeichnis Ihres Shops vorfinden werden.

Die nummerierten Unterordner dieses Verzeichnisses enthalten die einzeln Templates. (Default: 0-21)

Jedes dieser Templateverzeichnisse ist standardmäßig unterteilt in zwei weitere Ordner (de & en). Diese Ordner werden für Subshops genutzt (Default: de = deutscher Hauptshop , en = englische Shopversion).

Befinden wir uns beispielsweise im Mastertemplate (/templates/0/de/), so würden wir folgende Ordnerstruktur vorfinden:

  • campaigns (Newsletter-Template)
  • forms (Template für die Belegerstellung im Backend)
  • html (Shopstruktur, hier werden alle Strukturen der einzelnen Seiten definiert)
  • media (Shopstyle, hier werden alle Styles des Shops definiert (Farben, Hintergrundgrafiken, Positionen))

Ordner: html

Die Bearbeitung Ihrer Mastertemplatestruktur geschiet also im Ordner html. Hier finden Sie folgende Verzeichnisstruktur vor:

  • account - Templatedateien für den Kundenbereich (Mein Konto)
  • ajax - Struktur der von AJAX geladenen Inhalte (z.B. das Modul Produktvergleich)
  • articles - Artikeldetailseite, Artikelauflistung, Artikelboxen und Artikelextras wie z.B. Weiterempfehlen ect.
  • basket - Warenkorb & Merkzettel
  • campaign - Aktionsmodul
  • category - Navigationsstruktur und Sitemapstruktur
  • content - Struktur der Feed-Funktion und des Listings
  • custom - Struktur der statischen Seiten
  • error - Fehleranzeige
  • index - Hauptstruktur des Shops, der Startseite und der PDF-Seite
  • login - Struktur des Loginbereichs
  • newsletter - Struktur für die Anmeldung zum Newsletter
  • orderprocess - Bestellprozess und Bestellabschlussseite
  • payment - Templates für einzelne Zahlungsmethoden
  • register - Registriersteps 1 bis 3
  • search - Struktur der Suchergebnisse und Suchfilter
  • support (Formularstrukur für Kontakt ect.)

Ordner: media

Das Aussehen bzw. die Styles Ihres Mastertemplates bearbeiten Sie im Ordner media. Hier finden Sie folgende Verzeichnisstruktur vor:

  • css (Stylesheets für Farbanpassungen ect. (.css-Dateien))
  • img (Bilder und Grafiken die im Template verwendet werden)
  • js (externe Javascript-Dateien die im Template verwendet werden)
  • swf (Flash-Dateien die im Template verwendet werden)

Mastertemplate

Hinweis: Alle strukturellen Anpassungen an Ihrem Template sollten grundsätzlich nur im Mastertemplate vorgenommen werden.

Das Template 0 ist das so genannte Mastertemplate. Alle Template-Dateien befinden sich nur in diesem MAstertemplate.

Subtemplates

Subtemplates beinhalten standardmäßig keine Template-Dateien sondern beziehen diese immer vom Mastertemplate.

Es gibt jedoch die Möglichkeit einzelne Template-Dateien im Subtemplate anders zu gestalten als im Haupttemplate.

Beispiel:

Im Mastertemplate ist eine vierspaltige Artikelübersicht verwendet und es wurde ein Subshop erstellt der mit dem Subtemplate 18 arbeitet. In diesem Subshop soll nun eine angepasste Artikelübersicht eingespielt werden.

Da das Subtemplate die komplette Templatestruktur aus dem Mastertemplate bezieht müssen Sie nur 1 Datei (article_listing_4col.tpl) in die html-Ordnerstruktur vom Subtemplate 18 kopieren.

Wenn Sie die entsprechende Datei kopiert haben bezieht das Subtemplate alle Templatedateien weiterhin aus dem Mastertemplate jedoch wird die modifizierte Artikelübersicht mit der aus dem Mastertemplate ausgetauscht.

Somit ist das Kopieren eines kompletten Templates nicht mehr notwendig und erspart Ihnen eine Menge Zeit und Arbeit.

Viewports

Einen Einblick in die Viewport-Technik erhalten Sie in dem Wiki-Artikel http://shopware.de/dev/wiki/Wie_funktioniert_das_Viewport-System.

sViewport-Syntax:

{$sBasefile}?sViewport=IHRVIEWPORT
Viewport-Variable Erklärung
sViewport=ajax Ajax-Funktionen
sViewport=campaign Aktionsseiten (Modul: Marketingtools wird benötigt)
sViewport=tellafriend Weiterempfehlen-Funktion
sViewport=detail Detailseite eines Artikels
sViewport=uossuccess United Online Services Erfolgsseite
sViewport=uoscancel United Online Services Abbruchseite
sViewport=uosfail United Online Services Fehlerseite
sViewport=sale Bestellabschlussseite
sViewport=content Dynamische Inhalte (Feeds)
sViewport=admin Ihr Kundenkonto
sViewport=orders Ihre Bestellungen
sViewport=cat Kategorielisten
sViewport=register2shipping Lieferanschrift
sViewport=login Loginbereich
sViewport=note Merkzettel-Ansicht
sViewport=newsletter Newsletter-Einstellungen (An- und Abmeldefunktion)
sViewport=password Passwort vergessen
sViewport=register2 Rechnungsadresse
sViewport=registerFC Startseite der Registrierung
sViewport=register3 Zahlungsart auswählen
sViewport=sitemap Sitemap-Ansicht Ihres Shops
sViewport=custom Statische Seiten (AGB, ect.)
sViewport=search einfache Suchfunktion
sViewport=searchFuzzy intelligente Suchfunktion
sViewport=support Formulare (Kontakt, Defektes produkt melden, ect.)
sViewport=logout Logout aus dem Kundenkonto
sViewport=basket Warenkorbansicht

Wichtige Hinweise

Mozilla in Verbindung mit dem Firebug-Addon

Hinweis: Um Ihnen den Umgang mit dem Shopware-Templatesystem so einfach wie Möglich zu gestalten empfehlen wir Ihnen die Nutzung des aktuellsten Mozilla Firefox Browsers in Kombination zum Webdevelopment-Addon: Firebug.

Sie können die erwähnte Software unter folgenden Links finden:

Umgang mit dem Firebug-Addon

Mit dem Firebug haben Sie die Möglichkeit alle Elemente einer Homepage zu untersuchen und On-The-Fly zu bearbeiten (d.h. die Inhalte werden nur im Browser-Cache bearbeitet und nicht auf dem Server gespeichert.)

Installation und Aktivierung

Wenn Sie das Addon heruntergeladen bzw. installiert haben, so müssen Sie es noch aktivieren.

Gehen Sie hierzu bitte im Mozilla Firefox auf Extras und wählen den Punkt Add-ons.

Nun wählen Sie das Add-on Firebug aus und aktivieren Sie über die entsprechende Schaltfläche.

Hinweis: Firefox wird Sie auffordern den Browser neu zu starten. Bei geöffneten Inhalten, die nicht abgespeichert wurden, kann es bei einem Neustart des Programmes zu Datenverlust führen. Bitte versichern Sie sich, dass alle Inhalte ordnungsgemäß abgespeichert wurden und starten Sie den Browser neu.

Benutzen des Firebug-Addons

Aktivieren Sie die Firebug-Console durch drücken von [F12] oder durch den Menüpunkt Element untersuchen im Rechtsklick-Menü.

Sie haben nun die Möglichkeit ein Element Ihrer Wahl auf der Homepage zu untersuchen. Wenn Sie ein Element untersuchen erscheint die Firebug Konsole bzw. aktualisiert den Inhalt.

Sie haben nun die genaue Position des Elements im Quellcode und in der CSS-Datei:

Die Konsole gibt viele Nützliche Informationen zum untersuchten Element aus:

Dieses Add-on ist eine absolute Empfehlung, denn mit diesen Informationen lassen sich die zu bearbeitenden Elemente leicht im Editor auffinden und vieles mehr. Dies beschleunigt Ihre Arbeit im Web um ein Vielfaches.

Templateanpassungen: Shopware

Media-Dateien

CSS - Style-Sheets

In diesem Verzeichnis finden Sie alle Stylesheets zur Bearbeitung des Shopdesigns.

CSS-Dateien können mit einem beliebigen Text-Editor geöffnet werden, jedoch wird ein Web-Editor bevorzugt um die Zeilenangaben oder Color-Coding nutzen zu können. (Z. B. Adobe Dreamweaver, Zend Studio oder Coda)

IMG - Grafiken

Das Hauptverzeichnis für alle shoprelevanten Grafiken liegt unter: /img/default/store/

Hier sind auch Grafiken wie, z. B. das Shoplogo hinterlegt.

JS - externe Javascripts

SWF - Flashdateien

Logo austauschen

Hinweis: In der folgenden Beschreibung gehen wir davon aus, dass Sie das Mastertemplate 0 nutzen. Sollte dies nicht der Fall sein so ersetzen Sie bei der Umsetzung die Ziffer 0 mit der Nummer Ihres aktuell ausgewählten Templates.

Öffnen Sie das Verzeichnis: /templates/0/de/media/img/default/store/

Hier finden Sie die Datei logo.gif vor. Überschreiben Sie diese Datei mit Ihrer neuen Version.

Öffnen Sie das Verzeichnis: /templates/0/de/media/css/

Hier finden Sie die Datei basic.css vor. Öffnen Sie diese Datei in Ihrem Web-Editor.

Passen Sie die entsprechenden Werte in der basic.css an:

Farben anpassen

Navigation farblich anpassen

Hinweis: In der folgenden Beschreibung gehen wir davon aus, dass Sie das Mastertemplate 0 nutzen. Sollte dies nicht der Fall sein so ersetzen Sie bei der Umsetzung die Ziffer 0 mit der Nummer Ihres aktuell ausgewählten Templates.

Öffnen Sie das Verzeichnis: /templates/0/de/media/css/

Hier finden Sie die Datei basic.css vor. Öffnen Sie die Datei in Ihrem Web-Editor und springen Sie zur folgenden ID:

  div#navigation (Default-Zeile: 343)

Das Vorhaben dieses Templates ist es die Navigation beispielsweise in ein dunkles Grau einzufärben mit einer weißen Schrift. Wenn man mit der Maus über die Links fährt soll die Schrift rot werden.

  • entfernen Sie die Hintergrundgrafik der Navigationsleiste
Zeile 348 vorher:
background: url(../img/default/store/main_menu_bg.gif) repeat-x 0 0;

Zeile 348 nachher:
background: none;
  • entfernen Sie die Kommentierung der Hintergrundfarbe und passen diese auf ein dunkles Grau an
Zeile 349 vorher:
/*background-color: #dbdada;*/

Zeile 349 nachher:
background-color: #373737;
  • passen Sie die Schriftfarbe der Links auf ein weiß an
Zeile 374 vorher:
color: #444;

Zeile 374 nachher:
color: #fff;
  • setzen Sie die hover-color auf rot
Zeile 382 vorher:
color: #623420;

Zeile 382 nachher:
color: #ff0000;

Globale Linkfarben anpassen

Hinweis: In der folgenden Beschreibung gehen wir davon aus, dass Sie das Mastertemplate 0 nutzen. Sollte dies nicht der Fall sein so ersetzen Sie bei der Umsetzung die Ziffer 0 mit der Nummer Ihres aktuell ausgewählten Templates.

Öffnen Sie das Verzeichnis: /templates/0/de/media/css/

Hier finden Sie die Datei basic.css vor. Öffnen Sie die Datei in Ihrem Web-Editor und springen Sie zum folgenden Abschnitt:

Hyperlinks (Default-Zeilen: 92-96)

Passen Sie die entsprechenden color-Werte an um die globalen Hyperlinks einzufärben.

Hintergrundfarbe anpassen

Hinweis: In der folgenden Beschreibung gehen wir davon aus, dass Sie das Mastertemplate 0 nutzen. Sollte dies nicht der Fall sein so ersetzen Sie bei der Umsetzung die Ziffer 0 mit der Nummer Ihres aktuell ausgewählten Templates.

Öffnen Sie das Verzeichnis: /templates/0/de/media/css/

Hier finden Sie die Datei basic.css vor. Öffnen Sie die Datei in Ihrem Web-Editor und springen Sie zum folgenden Abschnitt:

body (Default-Zeile: 52)

  • einfarbiger Hintergrund: Passen Sie den background-color-Wert an
Zeile 57 vorher:
background-color: #f2f2f2;

Zeile 57 nachher:
background-color: #ff0000;
  • Hintergrund mit Verlaufgrafik: STEP 1 Kommentieren Sie die background-color aus
Zeile 57 vorher:
background-color: #f2f2f2;

Zeile 57 nachher:
/*background-color: #f2f2f2;*/
  • Hintergrund mit Verlaufgrafik: STEP 2 Entfernen Sie den Kommentar und passen Sie den background an
Zeile 56 vorher:
/*background: #fff url(../img/default/store/body_bg.gif) repeat-x 0 0;*/

Zeile 56 nachher:
background: #ff0000 url(../img/default/store/body_bg_new.gif) repeat-x 0 0;

Hinweis: Bei einem vertikalen Verlauf sollten Sie die Farbe am Boden der Grafik als Hintergrundfarbe wählen um einen sanften Übergang zu gewährleisten!

globale Buttons farblich anpassen

Hinweis: In der folgenden Beschreibung gehen wir davon aus, dass Sie das Mastertemplate 0 nutzen. Sollte dies nicht der Fall sein so ersetzen Sie bei der Umsetzung die Ziffer 0 mit der Nummer Ihres aktuell ausgewählten Templates.

Öffnen Sie das Verzeichnis: /templates/0/de/media/css/

Hier finden Sie die Datei basic.css vor. Öffnen Sie die Datei in Ihrem Web-Editor und springen Sie zur folgenden Klasse:

.button (Default-Zeile: 1622)

Um global alle Buttons ohne Sonderstyle mit einer grauen Hintergrundfarbe und schwarzer Schrift zu versehen ist folgendes anzupassen:

  • ersetzen Sie den background bzw. das background-image mit einer background-color
Zeile 1635 vorher:
background: transparent url(../img/default/store/main_menu_bg.gif) repeat-x;

Zeile 1635 nachher:
background-color: #e9e9e9;
  • anpassen des Wertes color
Zeile 1636 vorher:
color:#444;

zeile 1636 nachher:
color:#000;

Header anpassen

Größe des Headers anpassen

Hinweis: In der folgenden Beschreibung gehen wir davon aus, dass Sie das Mastertemplate 0 nutzen. Sollte dies nicht der Fall sein so ersetzen Sie bei der Umsetzung die Ziffer 0 mit der Nummer Ihres aktuell ausgewählten Templates.

Öffnen Sie das Verzeichnis: /templates/0/de/media/css/

Hier finden Sie die Datei basic.css vor. Öffnen Sie die Datei in Ihrem Web-Editor.

Um die Größe des Headers anzupassen bzw. in diesem Beispiel die Höhe um 20px zu vergrößern müssen mehrere Elemente neu positioniert werden. Zusätzlich wird die Implementierung eines Hintergrundbildes für den Header erklärt.

  • Container um 20px in der Höhe vergrößern
Zeile 129 vorher:
padding: 175px 5px 20px 5px;

Zeile 129 nachher:
padding: 195px 5px 20px 5px;
  • Navigationsleiste um 20px nach unten verschieben
Zeile 345 vorher:
top: 141px;

Zeile 345 nachher:
top: 161px;
  • Suchleiste um 20px nach unten verschieben
Zeile 231 vorher:
top: 141px;

Zeile 231 nachher:
top: 161px;
  • Shopnav um 10px nach unten verschieben
Zeile 273 vorher:
top: 50px;

Zeile 273 nachher:
top: 70px;
  • Logo um 10px nach unten verschieben
Zeile 136 vorher:
top: 42px;

Zeile 136 nachher:
top: 62px;

Um dem header ein background-img zuzuweisen springen Sie zur ID div#container in der basic.css (Default-Zeile: 122)

  • kommentieren Sie die background-color aus
Zeile 131 vorher:
background-color: #fff;

Zeile 131 nachher:
/*background-color: #fff;*/
  • entfernen Sie den Kommentar um den background
Zeile 130 vorher:
/*background: #fff url(../img/default/store/container_bg.gif) no-repeat top;*/

Zeile 130 nachher:
background: #fff url(../img/default/store/container_bg.gif) no-repeat top;
  • legen Sie das neue background-img an oder ersetzen Sie das Bestehnde
Zeile 130 vorher:
background: #fff url(../img/default/store/container_bg.gif) no-repeat top;

Zeile 130 nachher:
background: #fff url(../img/default/store/header_new.gif) no-repeat top;

Hinweis: Wenn Sie einen Verlauf als header-background angeben wollen vergessen Sie nicht den entsprechenden repeat-Wert zu setzen.

Ausgabe von Attributen

Um ein Attribut zu erstellen oder ein solches zu verwalten lesen Sie bitte zuerst den Artikel hier.

Ausgabe auf der Artikeldetailseite

Hinweis: In der folgenden Beschreibung gehen wir davon aus, dass Sie das Mastertemplate 0 nutzen. Sollte dies nicht der Fall sein so ersetzen Sie bei der Umsetzung die Ziffer 0 mit der Nummer Ihres aktuell ausgewählten Templates.

Öffnen Sie das Verzeichnis: /templates/0/de/html/articles/

Hier finden Sie die Datei article_details_middle.tpl vor. Öffnen Sie die Datei in Ihrem Web-Editor.

Die Ausgabe eines Artikelattributs ist durch eine Smarty-Variable im Template möglich. Diese Variable hat folgende Syntax:

Variable für das Artikelattribut mit dem Datenbank-Feld: attr3

$sArticle.attr3

Sie haben unter anderem auch die Möglichkeit Abfragen mit Attributen zu erstellen.

Sie wollen beispielsweise ein Bild nur ausgeben lassen wenn das Attribut auch einen Inhalt besitzt bzw. ausgefüllt ist.

{if $sArticle.attr3}
Dies ist ein Testbild
{/if}

Ausgabe auf der Übersichtsseite

Auch in der Artikelübersicht wird ein Attribut genau wie auf der Artikeldetailseite ausgegeben:

Variable für das Artikelattribut mit dem Datenbank-Feld: attr3

$sArticle.attr3

Anlegen und Ausgeben von Textbausteinen

Textbausteine sind im Template verwendbare Variablen, die in Shopware vordefiniert werden können. In Shopware wurde das komplette Templatesystem von so genanntem "hardcoded" Text befreit, d. h. es werden im Shopsystem Variablen mit den dazugehörigen Texten eingespeichert und im Template kann man die Texte durch angabe der Smarty-Variable abrufen. Der Vorteil an diesem System ist, dass es z. B. bei Subshops mit anderen Sprachen nur 1 Variable pro Textbaustein gibt. (Beispielsweise würde die Variable $sWelcome je nach ausgewählter Sprache den Wert "Herzlich Willkommen" oder z. B. "Welcome" ausgeben.)

Anlegen

Das Anlegen eines Textbausteines wird umfassend im Hilfeartikel http://www.shopware.de/dev/wiki/Hilfe:Einstellungen#Textbausteine erläutert und kann dort nachgeschlagen werden.

Syntax

Um einen Textbaustein in Ihrem Shoptemplate einzubinden ist folgender Aufbau der Smartyvariable im Template einzuhalten:

{$sConfig.sSnippets.sVariablentitel}

Beispiel:

Die im Backend einzugebene Smarty Variable entspricht dem sVariablentitel der Textbausteinsyntax.

Statische Seiten ausgeben

Statische Seiten lassen sich in verschiedenen Arbeitsabläufen ausgeben.

Die einfachste Methode eine statische Seite zu erstellen und diese im Frontend darzustellen ist direkt im Backend unter dem Menüpunkt:

Inhalte / Shopseiten

Variante zweit wäre es die im Backend erstellten Gruppen für die statischen Seiten mit einer Smarty-Foreach-Schleife auszulesen und die Seiten der Gruppen in der Storefront automatisch ausgeben zu lassen. Die dritte Möglichkeit ist es eine einzelne statische Seite anzusprechen und diese in der Storefront auszugeben.

Statische Seiten im Backend erstellen / verwalten

Die Erstellung von statischen Seiten im Backend ist leicht zu handhaben.

  • Schritt 1: Öffnen Sie das Menü "Shopseiten"

  • Schritt 2: Wählen Sie den Button "Seite hinzufügen" um eine neue Shopseite anzulegen

  • Schritt 3: Geben Sie den gewünschten Inhalt der Shopseite ein

  • Schritt 4: Passen Sie die Grundeinstellungen an

Um die bereits erstellten Shopseiten im Backend zu bearbeiten wählen Sie die Kategorie in der die bereits angelegte statische Seite gespeichert ist.

Das Löschen der Shopseiten erweist sich als äußerst unkompliziert und ist innerhalb von 3 einfachen Schritte erledigt.

  • Schritt 1: Wählen Sie die zu löschende Seite aus.
  • Schritt 2: Klicken Sie auf den Button "Seite löschen"

  • Schritt 3: Bestätigen Sie die Meldung um die Seite entgültig zu löschen.

Templateanpassungen: Campaigns

Templates über den Browser aufrufen

Sie können auch die verschiedenen Templates über einen Link aufrufen.

Beispiel: http://www.ihrshop.de/shopware.php?sTpl=3 (So wird auf dem lokalen PC das Template 3 verwendet)

mit http://www.ihrshop.de/shopware.php?sTpl=-1 wird wieder auf das Standard-Template umgestellt

Mit dieser Funktion ist das Bearbeiten eine Templates auch im Livebetrieb möglich. Änderungen können im Anschluss einfach in das aktuelle Template übernommen werden, oder das neue wird über die Shopware Administration als Standard-Template ausgewählt.

Artikel-PDF erstellen

Artikel bewerten

Waren diese Informationen hilfreich? Ja Nein


Kommentare:

Fehler bei der PDF-Erzeugung - 3. February 2012 - 11:51 Uhr

Von: Zurmühlen

Ich erhalte folgende Fehlermeldung wenn ich mir den Artikel als PDF generieren lassen möchte

mPDF error: IMAGE Error (http://wiki.shopware.de/templates/0/de/html/dummy/demobild.jpg): Could not find image file

Artikel kommentieren


Die mit einem * markierten Felder sind Pflichtfelder.

Weitere interessante Artikel:

Bezeichnung:
Rating:
Klicks:
Datum:

Bestell-Nr.: 68088_

Lieferzeit ca. 5 Tage

€ 1,00

Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*

€ 1,00

Preise inkl. gesetzlicher
MwSt. + Versandkosten*

Kategorien: