Die Gestaltung der Storefront bei WEBSALE ist flexibel und ermöglicht individuelle Anpassungen, erfordert jedoch fortgeschrittenes Know-how in HTML, CSS und JavaScript. Anders als bei anderen Shopsystemen gibt es bei WEBSALE keine vorgefertigten Designs oder Drag-and-Drop-Builder. Stattdessen arbeiten Webdesigner und Frontend-Entwickler direkt mit den HTML-Templates, CSS- und JavaScript-Dateien, um das gewünschte Design zu realisieren. Ein wesentlicher Vorteil dieses Ansatzes ist, dass die Software von WEBSALE strikt vom Design resp. der Storefront getrennt ist. Änderungen oder Updates an der Software betreffen nicht die Templates. Die Storefront bleibt somit immer unverändert. Neue Funktionen aus Software-Updates können bei Bedarf manuell in die Templates integriert werden.Documentation Index
Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
Use this file to discover all available pages before exploring further.
Verzeichnisstruktur
Die WEBSALE Storefront ist logisch in verschiedene Verzeichnisse unterteilt, die die Templates und zugehörigen Ressourcen wie CSS, JavaScript und Bilder strukturieren.Template-Verzeichnis
Das Verzeichnistemplates/ enthält alle HTML-Templates der Storefront. Diese sind in Unterverzeichnisse organisiert, die nach den entsprechenden Controllern benannt sind. Diese Struktur trennt die Vorlagendateien nach den spezifischen Frontend-Bereichen, auf die sie sich beziehen.
templates/components/: Wiederverwendbare Template-Elemente (Includes), z.B. Produktboxen.templates/layouts/: Basis-Templates (Layout-Templates), die das allgemeine Grundgerüst aller Shopseiten definieren (z.B. Header, Footer, Navigation).templates/mails/: Templates für automatisch versendete E-Mails, z.B. Bestellbestätigungen oder Versandbenachrichtigungen.templates/pdfs/: Templates für PDF-Ausgaben, z.B. Rechnungen oder Lieferscheine.templates/views/: Seiten-Templates (View-Templates) für die einzelnen Shopseiten, z.B. Startseite, Kategorieseiten.
Medien-Verzeichnis
Das Verzeichnismedia/themes/default/ enthält die Ressourcen für die Gestaltung der Storefront, wie Schriftarten, SCSS-Dateien, Bilder und Icons. Dieses Verzeichnis befindet sich auf der gleichen Ebene wie templates/.
templates/ greifen auf die Ressourcen im Verzeichnis media/themes/default/ zu, um das Layout, die Farben, Schriftarten und Bilder der Storefront zu definieren. Dies ermöglicht eine saubere Trennung von Struktur (HTML) und Design (CSS und Medien).
Beispiel für die Einbindung von Ressourcen:
Basis-Template (Layout-Template)
Das Basis-Template, auch als Layout-Template bezeichnet, legt das allgemeine Grundgerüst für alle Seiten der Storefront fest. Es definiert zentrale Inhalte und Bereiche, die auf den meisten Shopseiten wiederverwendet werden, und sorgt so für eine einheitliche Struktur und Benutzerführung. Das Layout-Template ist keine eigenständige Shopseite und kann nicht direkt von außen per Link aufgerufen werden. Es wird stattdessen von den spezifischen Seiten-Templates (Views) erweitert oder eingebunden. Das Basis-Template befindet sich im Verzeichnis- Technischer
<head>-Bereich:- Meta-Angaben für Suchmaschinenoptimierung (z. B. Title, Description, Keywords).
- Verweise auf die CSS- und JavaScript-Dateien der Storefront.
- Integration von externen Ressourcen wie Schriftarten oder Tracking-Codes.
- Sichtbarer Headerbereich:
- Logo: Darstellung des Shop-Logos.
- Suche: Eingabefeld für die Produktsuche.
- Login-Bereich: Zugriff auf das Kundenkonto.
- Warenkorb und Merkliste: Übersicht über gespeicherte Produkte.
- Navigation: Primäre Navigation des Shops (z. B. Kategorien).
- Breadcrumb:
- Anzeige des aktuellen Navigationspfads zur besseren Orientierung der Benutzer.
- Footer:
- Weiterführende Verlinkungen wie Impressum, Datenschutz, AGB.
- Kontaktinformationen oder andere zusätzliche Inhalte.
extends-Befehl eingebunden:
Template-Blöcke
Template-Blöcke bilden die grundlegende Struktur eines Basis-Templates und ermöglichen eine einfache und flexible Anpassung der Storefront. Sie gruppieren die Storefront-Komponenten in kleine, isolierte Blöcke, die unabhängig voneinander bearbeitet oder überschrieben werden können. Dieses Block-System sorgt für eine saubere Struktur und Wiederverwendbarkeit von Inhalten. Template-Blöcke sind klar definierte Bereiche innerhalb eines Templates, die durch dasblock**-**Element gekennzeichnet sind. Sie dienen dazu, einzelne Komponenten der Storefront (z. B. Header, Footer, Navigation) voneinander zu trennen, sodass jede Komponente unabhängig angepasst werden kann.
Beispiel eines Blocks:
Template-Blöcke überschreiben
Ein Template-Block kann in einem View-Template überschrieben werden, um spezifische Anpassungen für einzelne Seiten vorzunehmen. Dazu wird dasblock**-**Element einfach mit dem gewünschten Quellcode in das View-Template integriert. Das Basis-Template bleibt dabei unverändert.
Beispiel: Überschreiben des Headers für die Startseite
Template-Blöcke erweitern
Es ist auch möglich, bestehende Blöcke zu erweitern, ohne deren ursprünglichen Inhalt zu entfernen. Dafür gibt es die Schlüsselwörterprepend (Inhalt voranstellen) und append (Inhalt anhängen).
Beispiel: Versandkostenfrei-Banner im Header hinzufügen:
View-Templates (Seiten-Templates)
View-Templates definieren die individuellen Inhalte für spezifische Shopseiten und sind die einzigen Templates, die von außen per Link adressierbar sind. Sie basieren in der Regel auf einem Basis-Template und verwenden dessen Blöcke, um eine konsistente Struktur und Gestaltung beizubehalten. View-Templates befinden sich im Verzeichnisimpressum.htm verlinkt.
Ein View-Template sollte immer ein Basis-Template verwenden. Dadurch wird sichergestellt, dass alle grundlegenden Strukturen wie Header, Footer oder der technische <head>-Bereich aus dem Basis-Template übernommen werden. Die Zuweisung erfolgt immer mit dem Befehl extends:
extends ein Basis-Template zugewiesen darf auf dem View-Template ausschließlich mit Blöcken gearbeitet werden. Bei jedem View-Templates kann dann entschieden werden, welche Blöcke des Basis-Templates übernommen, überschrieben oder erweitert werden. Außerhalb von Blöcken darf kein Code stehen.
System-Templates
Es gibt drei vordefinierte System-Templates, die nicht umbenannt oder verschoben werden dürfen:start.htm: Definiert die Startseite des Shops.category.htm: Template für die Kategorieseiten.product.htm: Template für die Produktseiten.
Benutzerdefinierte Templates
Für alle anderen Shopseiten gibt es keine System-Vorgaben. Alle anderen Shopseiten sind frei definierbare View-Templates, von denen erstellt werden können. Diese können frei benannt werden, z. B.:account.htm: Für das Kundenkontosearch.htm: Für die Sucheimpressum.htm: Für die Impressumsseite- etc.
Components (Includes)
Components, auch bekannt als Includes, sind wiederverwendbare Template-Elemente, die flexibel in verschiedenen Bereichen des Shops eingesetzt werden können. Sie dienen dazu, HTML-Code oder andere Anweisungen (z. B. CSS, JavaScript) zu bündeln und an mehreren Stellen im Shop zu nutzen. Im Gegensatz zu Basis-Templates oder View-Templates enthalten Components keine vollständigen HTML-Seitenstrukturen mitdoctype, <html> oder <body>, sondern nur ausgewählte Code-Schnipsel.
Components befinden sich im Verzeichnis:
- In der Kategorieübersicht, um Produkte in einer Liste darzustellen.
- In den Suchergebnissen, um die Treffer anzuzeigen.
- Auf der Merkliste, um gespeicherte Produkte darzustellen.
- Im Cross-Selling-Bereich auf der Produktdetailseite, um verwandte oder empfohlene Produkte anzuzeigen.
