Dein Warenkorb ist leer

Drops stylen

Lerne wie du das Styling deiner Drops anpassen kannst

Wir entwickeln Drops immer mit dem Anspruch, dass diese in jedem JTL Shop - und somit in jedem Template - eine gute Ausgabe erzeugen. Ebenso sind Drops darauf optimiert, in jeder Breite zu funktionionieren, was sie somit responsive macht.

Als Orientierung und Testfall dient uns stets das Standard-Template NOVA (JTL-Shop 5) bzw. Evo (JTL-Shop 4). Viele Templates von Drittanbietern basieren auf diesen Standard-Templates, daher passen sich Drops häufig ohne Zutun auch gut in diese Templates ein.

Aber nicht immer kann sich ein Drop komplett an den individuellen Stil und Anforderungen deines Shops anpassen. Wo Designeinstellungen im Drop fehlen, kannst du den Drop Container oder CSS (und evtl. auch Smarty) nutzen, um die für dich besten Ergebnisse zu erzielen.

Drop Container

In den meisten Drops kannst du den optionalen Drop Container aktivieren. Dieser Container umspannt die Inhalte deines Drops und ermöglicht dir, einige Designeinstellungen vorzunehmen, zusätzliche Inhalte vor oder nach deinem Drop einzufügen oder auch Lazy Loading zu aktivieren.

Design

Im Reiter "Design" kannst du Außen- und Innenabstände deines Drop festlegen. Dabei stehen dir viele verschiedene Einheiten (px, em, rem, ...) zur Verfügung.

Auch die Ausrichtung der Inhalte (via text-align) und zusätzliche CSS-Klassen (class Attribut) des Containers kannst du hier bestimmen.

Durch Aktivieren der Option Auf Seitenbreite begrenzen? fügst du in Templates, die auf NOVA basieren, die CSS-Klasse container hinzu, was den Drop-Inhalt besser in den Inhaltsbereich des Templates integriert.

Inhalt

Wenn du Inhalte wie Titel oder weiterführende Links vor bzw. nach dem Inhalt deines Drops einfügen möchtest, kannst du das im Reiter "Inhalt" tun.

Deaktiere die Option Container auch dann rendern, wenn die Drop-Ausgabe leer ist?, um auch diese zusätzlichen Inhalte auszublenden, falls dein Drop keinen Inhalt hat.

Ein Beispiel dafür sind dynamische Article Slider, deren Datenquelle eventuell keine Ergebnisse liefern. Wenn keine Produkte angezeigt werden, möchtest du üblicherweise auch keinen Titel darstellen. Mit den richtigen Bootstrap Hilfsklassen kannst du sogar Boxen- bzw. Card-Darstellungen realisieren.

Drop Container mit Card Inhalten

Einige Beispiele zur Verwendung von Drop-Container-Inhalten findest du auch in unserer Dropper Zone.

Drops in Container-Inhalten?

Beachte, dass sich die Inhaltsbereiche wie HTML-Controls verhalten, d.h. du kannst hier sogar andere Drops verknüpfen, den Inhalt mehrsprachig gestalten und Smarty nutzen!

Lazy Loading

Im Reiter "Lazy Loading" kannst du festlegen, ob Inhalte deines Drops erst geladen werden, wenn sie für den Besucher sichtbar werden. Bitte beachte auch unsere Erläuterungen zu Lazy Loading im Performance-Abschnitt des Wikis!

Anpassungen per CSS

Wenn Drops Ausgaben erzeugen, sind diese meist mit CSS Regeln formatiert. Was aber, wenn du diese Regeln überschreiben oder erweitern möchtest?

JTL Shop 5 (NOVA Template)

Schreibe deine CSS- oder SASS-Regeln in die custom.css bzw. /scss/theme.scss deines Theme-Ordners ([ShopRoot]/templates/[DEIN-TEMPLATE]/themes/[DEIN-THEME]/). Bitte beachte hierbei die Empfehlung von JTL, mit Child-Templates zu arbeiten.

Im 'my-nova' Theme des Demo-Child-Template 'Nova-Child' kannst du deine Regeln in der custom.css bzw. /sass/my-nova.scss im Ordner [Shop-Root]/templates/NOVAChild/themes/my-nova/ platzieren.

dropper.scss

Für mehr Übersicht und Ordnung empfehlen wir dir, CSS- und SASS-Regeln für deine Drops in separate Dateien, z.B. einer dropper.scss, auszulagern. Platziere diese im gleichen Ordner wie deine theme.scss und importiere diese dann entsprechend:


// imports // ----------------------------------------------------- [...] @import "dropper.scss"; [...] // 'my-theme' style rules // ----------------------------------------------------- [...]

Kompilieren nicht vergessen!

Wenn du SASS verwendest, müssen alle Änderungen mit einem SCSS-Compiler (z.B. dem JTL-Theme-Editor Plugin) kompiliert werden.

JTL Shop 4 (Evo Template)

Schreibe deine CSS- oder LESS-Regeln in die custom.css bzw. theme.less deines Themes. Auch hier gelte die Empfehlunge für Child-Templates.

Wenn du ein Child-Template namens Evo-Child verwendest, findest du die theme.less bspw. im Ordner [Shop-Root]/templates/Evo-Child/themes/[Dein-Theme]/less/.

dropper.less

Um für etwas mehr Übersicht zu sorgen, lagere die CSS Regeln für deine Drops in eine separate dropper.less Datei aus. Platziere diese im gleichen Ordner wie deine theme.less und importiere diese dann entsprechend in der theme.less:


[...] @import "dropper"; [...] // Navbar ======================================================= navbar { [...] }

Kompilieren nicht vergessen!

Wenn du Less Dateien verwendest, denk bitte daran, diese nach einer Änderung neu zu kompilieren. Das kannst du bspw. mit dem Evo Theme Editor erledigen.

CSS via Plain Drop

Du kannst CSS Regeln auch mit einem Plain Drop einfügen. Der Inhalt eines solchen Plain Drops würde wie folgt aussehen:


<style type="text/css"> .kk-powerslide .kk-my-slide { [...] } </style>

Wir empfehlen dir, das Plain Drop in den head Bereich deiner Seite einzuhängen. Tipp: du kannst zusätzlich - wie für jedes andere Drop - auch Darstellungsfilter nutzen, um bspw. CSS Regeln nur für bestimmte Kundengruppen oder Zeiträume auszuspielen.

Für größere, allgemeinere CSS Anpassungen solltest du allerdings den oben beschriebenen Weg über das Template bzw. Theme gehen.

JTL Shop 3

Schreibe deine CSS Regeln in die theme.css deines aktiven Templates. Wenn du das Tiny Template als Basis benutzt findest du diese Datei im Ordner [Shop-Root]/templates/JTL-Shop3-Tiny/themes/[Dein-Theme].

CSS Regeln überschreiben

Du solltest auch auf die Verwendung von !important Statements in deinen Regeln verzichten können, denn Dropper fügt den CSS Code der Drops immer vor den Stylesheets des Templates ein. Deine CSS Regeln werden also nach den Dropper Regeln ausgeführt und sind daher bei gleichen Selektoren höher priorisiert. Guten Lesestoff zu CSS findest du übrigens hier.

Custom Templates

Manchmal reicht es nicht, Elemente deiner Drops mit CSS zu stylen. Dann kommen Custom Templates ins Spiel.

Jedes Drop bringt eine Templatedatei template.tpl mit, die du im Ordner des Drops findest. Diese bestimmt wie sich das Drop anhand der von eingegebenen Daten rendert. Bei unserem Plain Drop findest du bspw. die Datei template.tpl im Ordner [Shop-Root]/includes/plugins/kk_dropper/drops/Plain.

Wenn du die Templatedatei des Drops ändern möchtest, tue das bitte nicht direkt in der ausgelieferten Datei. Erstelle vorher ein Kopie der Datei und hänge ein _custom an den Dateinamen an. Aus template.tpl wird also template_custom.tpl. Diese Datei wird dann anstelle der originalen Datei geladen.

Übgrigens: Custom Templates nutzen sowohl JTL Shop Templates als auch viele unserer Plugins. In unserer Plugin Dokumentation erklären wir das Prinzip in einem kurzen Screencast anhand eines Beispielplugins.

Besonderheiten

Einige Drops liefern angepasste Templatedateien für unterschiedliche Shop-Templates (Tiny/Evo) oder Frameworks (Bootstrap) mit. Die in deiner Installation verwendete Templateintegration kannst du in den Dropper Einstellungen festlegen.

Die Templatedateien für spezielle Shop-Templates haben folgende Form:

template.<base>.tpl

für das Evo-Template des JTL-Shop 4 beispielsweise:

template.evo.tpl

Möchtest du diese Templatedatei überschreiben, kannst du - wie schon beschrieben - auch hier eine Custom-Datei anlegen:

template.evo_custom.tpl

Templateintegrationen können übrigens auch mehrere <base> Templates unterstützen: für das Evo-Template greifen bspw. evo und bs3. Der Hintergrund: viele JTL-Shop Templates nutzen das Frontend-Framework Bootstrap. Eine template.bs3.tpl führt so mitunter gleich in mehreren Templates zu einer optimierten Ausgabe des Drops.

Custom Templates und Drop Updates

Der Einsatz von Custom Templates führt im Falle von Drop Updates leider zu einem gewissen Mehraufwand.

Custom Templates werden bei einem Update zwar nicht überschrieben, werden dafür allerdings auch nicht mit aktualisiert. Relevante Änderungen der Orignaldateien könnten dir so entgehen. Vergleiche daher nach einem Update die Originaldateien mit deinen angepassten Dateien und ziehe Änderungen ggf. manuell nach.

Nur für Kenner

Änderungen am CSS einer Webseite erzeugen selten schwere Fehler. Änderungen an Templatedateien sind da durchaus kritischer. Bitte ändere Templatedateien nur, wenn du weißt, was du tust. Auch empfehlen wir gute Smarty Kenntnisse.

Ein Blick in unsere Entwicklerdokumentation ist ebenfalls empfehlenswert.