Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Einleitung

Die empfohlene Vorgehensweise zur Individualisierung des easyTemplate360 ist die Nutzung eines Child-Templates.

Die Goldene Regel für Child-Templates

Bei der Verwendung von Child-Templates ist vor allem eines zu beachten: Lege nur das als Dateien an und passe nur die Dinge an, die Du wirklich für die Individualisierung brauchst!

Template-Dateien im Child-Template werden logischerweise nicht bei Template-Updates (die ja das Parent-Template betreffen) aktualisiert. Das heißt, mitunter fehlen Dir dann neuere Funktionen, bis du deine Child-Template-Dateien nachgezogen hast (was aufwendig werden kann).

Das grundlegende Vorgehen zur Erstellung von Child-Templates findest Du im Guide von JTL:

https://jtl-devguide.readthedocs.io/projects/jtl-shop/de/latest/shop_templates/eigenes_template.html

Erweiterungen von Templates können ganz analog zum JTL-Standard-Template NOVA erfolgen: Leg einfach die zu überschreibende .tpl-Datei in einer parallelen Ordnerstruktur an und es kann losgehen - das funktioniert übrigens auch für die Widget-Templates im Ordner .../easytemplate360/widgets/

Beispiel Template XML

Im Folgenden siehst Du eine beispielhafte template.xml für ein Child-Template des easyTemplate360.

Die Beispiele gehen von einem Template aus, was im Ordner templates/MeinChild liegt.

Beispiel: template.xml

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Template isFullResponsive="true">
    <Name>Mein Child-Template</Name>
    <Author>Ich</Author>
    <URL>https://meine-url.de</URL>
    <Version>1.0.0</Version>
    <ShopVersion>5.0.3</ShopVersion>
    <Parent>easyTemplate360</Parent>
    <Description>Mein Child-Template für EasyTemplate360</Description>

    <Settings>
        <Section Name="Theme" Key="theme">
            <Setting Description="Theme" Key="theme_default" Type="select" Value="mytheme" override="true">
                <Option Value="mytheme">Mein Theme</Option>
            </Setting>
        </Section>
    </Settings>

    <Minify>
        <CSS Name="mytheme.css">
            <File Path="themes/mytheme/css/theme.css"/>
            <File Path="themes/mytheme/css/custom.css"/>
        </CSS>
        <JS Name="jtl3.js">
            <!-- Beispiel: Ersetzen des Mobile Menus vom easyTemplate360 --> 
            <File Path="js/easytemplate/mobile-menu-plugin.min.js" override="true"/>
        </JS>
    </Minify>
</Template>

Bootstrap.php

Im Child-Template selbst muss es eine Bootstrap.php geben.
Wichtig ist vor allem, dass die Bootstrap die Bootstrap-Datei vom easyTemplate360 extended und dass die parent::boot()-Methode aufzurufen, sowie die parent::registerPlugins()-Methode aufgerufen werden, falls sie überschrieben werden.

Eine mögliche (minimalistische) Bootstrap.php könnte so aussehen:

Die Beispiele gehen von einem Template aus, was im Ordner templates/MeinChild liegt.

<?php declare(strict_types=1);

namespace Template\MeinChild;

/**
 * Class Bootstrap
 * @package Template\MeinChild
 */
class Bootstrap extends \Template\easyTemplate360\Bootstrap
{
    /**
     * @inheritdoc
     */
    public function boot(): void
    {
        parent::boot();
    }

    protected function registerPlugins(): void
    {
        parent::registerPlugins();
    }
}

Wichtige Hinweise

Aus technischen Gründen darf das Theme im Child-Template nicht “default” heißen.

  • No labels