Wenn Sie das Erscheinungsbild von ThemeWare mittels einer Template-Anpassung verändern möchten, können Sie diese in eigenen Template-Blöcken hinterlegen.


Voraussetzung

Die Voraussetzung hierfür ist allerdings, dass Sie diese Anpassungen in einer Ableitung von ThemeWare durchführen. Erfahren Sie mehr über ThemeWare Ableitungen.


Einsicht in den Quellcode

Den grundlegenden Aufbau (Template-Order, Template-Dateien, Smarty Blöcke, etc.) geben die Shopware Themes "Bare" und "Responsive" vor, da ThemeWare technisch eine Ableitung dieser ist.


Auch wenn Sie die originalen ThemeWare-Dateien nicht bearbeiten sollen, ist es manchmal nötig, dass Sie etwas nachschauen. Sie finden Sie Dateien unter folgendem Pfad (XXX = Modern, Living, Clean, etc.):

  • Version 1.x.x: /engine/Shopware/Plugins/Community/Frontend/TcinnXXXTheme/Themes/Frontend/XXXTheme
  • Version 2.x.x: /custom/plugins/TcinnXXXTheme/Resources/Themes/Frontend/XXXTheme


Eigene Template-Datei ablegen

Im Ordner des abgeleiteten Themes können alle TPL-Dateien angepasst oder überschrieben werden, die unser Theme oder das Shopware Bare Theme verwenden. Der Ordner der Ableitung liegt hier: /themes/Frontend/Name-Ihrer-Ableitung


Ihre Ableitung enthält automatisch die gleiche Ordnerstruktur wie Bare, Responsive und ThemeWare. Das es hier keine Dateien gibt, ist erstmal korrekt. Wenn Sie eine Datei oder einen Block anpassen oder überschrieben möchten, dann erstellen Sie einfach die zugehörige tpl-Datei mit dem gleichen Namen in dem richtigen Ordner.


Hilfreiche Smarty Grundlagen

Smarty Template Blöcke haben immer den nachfolgenden Aufbau. Die Blocknamen werden von den übergeordneten Template-Dateien (in diesem Fall vom Shopware Bare Theme oder von ThemeWare) vorgegeben oder im Falle von völlig neuen Blöcken, von Ihnen festgelegt.


Ableitung in neuer Template-Datei hinterlegen

In der ersten Zeile der Datei muss definiert werden, von welcher übergeordneten Datei diese abgeleitet wird.

{extends file="parent:frontend/index/dateiname.tpl"}


Block überschreiben

{block name='frontend_index_blockname'}
    // Platzieren Sie hier den neuen Inhalt
{/block}


Block nach dem Inhalt ergänzen

{block name='frontend_index_blockname'}
    {$smarty.block.parent}
    // Platzieren Sie hier den zusätzlichen Inhalt
{/block}


Block vor dem Inhalt ergänzen

{block name='frontend_index_blockname'}
    // Platzieren Sie hier den zusätzlichen Inhalt
    {$smarty.block.parent}
{/block}