Blog

Blog

Themes für Zikula 1.5 oder höher

Wiederkehrende Anforderungen

Nach meinen Erfahrungen treten bestimmte Anforderungen immer wieder auf, wenn man mit Zikula arbeitet.

Eine nicht zu verachtende Aufgabe ist es zum Beispiel, eigene Themes für das Layout einer Seite zu erstellen.

Bedingung dafür ist, dass man ein weiteres Theme hat, welches Zikula beim Neuladen (nach Löschen des Cache) des Moduls 'Themes' als neues Theme erkennt und speichert. Dabei ist es natürlich wünschenswert, dass keine Probleme auftreten.

Eine Möglichkeit ist es, das vorhandene Bootstrap-Theme so anzupassen, dass es von Zikula als zusätzliches Bootstrap-Theme akzeptiert wird.

Schwierigkeiten treten schnell auf

Ich habe mit dieser Herausforderung in der letzten Zeit des öfteren zu tun gehabt und dabei festgestellt, dass es schnell zu Schwierigkeiten kommen kann.

Die Lösung war für mich, dass ich das Theme 'BootstrapTheme' kopiert habe und 'Bootstrap2Theme'  (also den obersten Ordner) genannt habe.

Anschließend müssen sämtliche Dateien entsprechend angepaßt werden.

Angepaßte composer.json

Die Datei 'composer.json' kann dann so aussehen:

{
    "name": "zikula/bootstrap2-theme",
    "version": "1.0.0",
    "description": "Bootstrap based theme",
    "type": "zikula-theme",
    "license": "LGPL-3.0+",
    "authors": [
        {
            "name": "Michael Ueberschaer",
            "homepage": "https://homepages-mit-zikula.de/"
        }
    ],
    "autoload": {
        "psr-4": { "Zikula\\Bootstrap2Theme\\": "" }
    },
    "require": {
        "php": ">=5.4.1"
    },
    "extra": {
        "zikula" : {
            "core-compatibility": ">=1.4.1",
            "class": "Zikula\\Bootstrap2Theme\\ZikulaBootstrap2Theme",
            "displayname": "Default",
            "capabilities": {
                "user": true,
                "admin": true
            }
        }
    }
}

Als Displayname seht ihr 'Default'. Das Theme erscheint dann nach Neuladen des Theme-Moduls auf einer deutschen Installation mit dem Namen 'Standard'. Es braucht dann nur noch per Link installiert bzw. aktiviert zu werden.

In den Basis-Templates(home.html.twig, admin.html.twig und master.html.twig) müssen außerdem die Pfade zu den css-Dateien angepasst werden.

Basis-Templates - home.html.twig

Die home.html.twig sieht dann so aus:

{{ include('@ZikulaBootstrap2Theme/Include/header.html.twig') }}
        <div id="bootstrap-theme-main-container">
            {{ include('@ZikulaBootstrap2Theme/Include/main_menu.html.twig') }}
            {{ include('@ZikulaBootstrap2Theme/Body/' ~ themevars.home ~ '.html.twig') }}
            {{ include('@ZikulaBootstrap2Theme/Include/footer.html.twig') }}
        </div><!-- /bootstrap-theme-main-container -->
    </body>
</html>

Auch im template admin.html.twig und master.html.twig fügst Du entsprechend die Zahl 2 ein. Anpassungen sind unter anderem auch in der Datei 'ZikulaBootstrap2Theme.php' notwendig.

Download eines angepassten themes

Wer sich diese Arbeit sparen möchte, kann sich das angepaßte Theme herunter laden. Das Theme ist allerdings nur für Zikula 1.5.8 geeignet. In der composer.json kannst Du dann einen für Dich passenden Displayname und wenn gewünscht eine Beschreibung eingeben. Das Theme kopierst Du dann in den Ordner themes Deiner Installation.

Nach Löschen des Cache, entweder der Ordner app/prod oder der Ordner app/dev, und Neuladen des Theme-Moduls sollte das Theme zur Weiterentwicklung zur Verfügung stehen

Kategorien

  • Themes
  • HTML
  • Bootstrap

Erstellung und Aktualisierung

Erstellung
Erstellt von michael.ueberschaer am 28.10.2017, 21:48
Letzte Aktualisierung
Aktualisiert von michael.ueberschaer am 04.10.2018, 20:03
Kategorien im Blog
Werbung


Die neuesten Downloads
  • Deutsche Übersetzung Core
    Dieser Download beinhaltet die deutsche Übersetzung für alle Versionen aus der Reihe...
    Mehr lesen
  • Bootstrap Standard Theme
    Dieses Theme ist als zusätzliches Theme zur Entwicklung eines eigenen Layouts geeignet. Lies...
    Mehr lesen
  • News 1.2.1
    Mit News kannst Du einen Blog betreiben.
    Mehr lesen
  • Scribite 6.0.2
    Scribite ist ein Modul, mit dem Du in anderen Modulen einen Editor, z.B. den CKEditor...
    Mehr lesen
  • Content 5.0.1
    Content ermöglicht das flexible Erstellen von Inhalten.
    Mehr lesen