-
Notifications
You must be signed in to change notification settings - Fork 33
Views überschreiben
Vom Grundsatz werden persönliche Änderungen an den Modulen unter "application/modules/" nicht empfohlen, da bei Updates der jeweiligen Module diese Dateien überschrieben werden und somit eigene Anpassungen verloren gehen.
Verbesserungen oder empfohlene Anpassungen die in ilch 2 einfließen sollten müssten direkt in das Projekt IlchCMS - Ilch 2 eingeflochten werden. Somit ständen dann, mit der Überprüfung durch das Ilch-Team und dem Update, die Verbesserungen auch jedem zur Verfügung.
Wenn jedoch eigene den individuellen Bedürfnissen gewünschte Anpassungen gewollt sind, dann sollten die betroffenen Views, die Template-Ausgaben des betroffenen Moduls, in das verwendete Layout eingebunden und angepasst werden. Damit werden zukünftige Updates des betroffenen Moduls die eigenen Anpassungen nicht überschrieben.
Unter den folgenden Punkten werden die Maßnahmen und Abläufe im Allgemeinen und anhand von zwei Beispielen beschrieben.
Um die Views (Template-Ausgaben) den eigenen Wünschen gemäß der oben genannten Empfehlung anzupassen, müssen die betroffenen Ausgaben des jeweiligen Moduls in das eigene Layout eingebunden und auch nur hier angepasst werden.
Die jeweiligen Views sind im Modulordner „application/modules/MODULNAME/views/“ zu finden und müssten dann in das eigene Layout „application/layouts/LAYOUTNAME/views/modules/MODULNAME/“ kopiert werden. Hier können dann die persönlichen Anpassungen eingebunden werden.
Beim Aufruf der Webseite werden vorhandene Views vom genutzten Layout geprüft und dargestellt. Wenn keine vorhanden sind, werden immer die Views der Module aus dem Ordner „application/modules/MODULNAME/views/“ verwendet.
Um zu erkennen wo sich die betroffene Datei befindet, die für eine Integration in das Layout notwendig ist, hilft grundlegend auch die URL beim Aufruf des jeweiligen Moduls der eigenen Webseite. So sieht man bei „domain.de/index.php/MODULNAME/index/index“ dass die aufgerufene View-Datei „application/modules/MODULNAME/views/index/index.php“ ist und die Kopie dieser Datei, für die eigene Anpassung, in die Ordnerstruktur „application/layouts/LAYOUTNAME/views/modules/MODULNAME/index/“ erfolgen muss.
Nun können in der „application/layouts/LAYOUTNAME/views/modules/MODULNAME/index/index.php“ individuelle Darstellungen integriert werden, welche vorrangig beim Aufruf deiner Seite angezeigt werden und vor allem nicht bei Updates überschrieben werden.
Es folgen jetzt zwei Beispiele um diese Grundlagen zu veranschaulichen.
Es werden nun am Gästebuch-Modul „application/modules/guestbook/“
und am Artikel Modul „application/modules/article/“
individuelle Anpassungen getätigt und die notwendigen Abläufe demonstriert. Diese Beispiele zeigen den Weg bzw. die Art und Weise wie man Module dem eigenen Layout entsprechend anpassen oder in anderer Form darstellen kann.
Als Beispiel ändern wir den Link "Neuer Eintrag" des Gästebuchs und verschönern diesen etwas durch einen CSS Button.
screenshot_guestbook.jpg
Info | Pfad | Bemerkung |
---|---|---|
URL: | domain.de/index.php/guestbook/index/index | |
App-View: | application/modules/guestbook/views/index/index.php | Quelle / kopieren |
Layout-View: | application/layouts/LAYOUTNAME/views/modules/guestbook/index/index.php | Ziel / einfügen |
Nun kann im Code der index.php des Views im Layout der Link mit einer CSS Klasse versehen werden:
<div class="pull-right"> <a href="<?=$this->getUrl(['action' => 'newentry']) ?>"><?=$this->getTrans('entry') ?></a> </div>
z.B. mit der Klasse class="guestbook_newentry"
<div class="pull-right"> <a class="guestbook_newentry" href="<?=$this->getUrl(['action' => 'newentry']) ?>"><?=$this->getTrans('entry') ?></a> </div>
und in der style.css des verwendeten Layouts die CSS Klasse definieren z.B.:
a.guestbook_newentry{ background-color: #f00; border: none; border-radius: 5px; color: #fff; font-size: 14px; padding: 5px 10px; text-align: center; text-decoration: none; }
so würde dann das Ergebnis aussehen:
screenshot_guestbook_ergebnis.jpg
Als Beispiel entfernen wir die Anzeige des Autors bzw. des Artikelerstellers in allen Artikelanzeigen. Hierzu muss man prüfen, in welchen Views der Autor angezeigt wird. In diesem Fall ist es aufgrund der vielen Anzeigemöglichkeiten etwas umfangreicher.
Vorschau - alle Artikel nach Zeit / Archiv / Liste gesamt
screenshot_archive_list.jpg
Info | Pfad | Bemerkung |
---|---|---|
URL: | domain.de/index.php/article/archive/index | |
App-View: | application/modules/article/views/archive/index.php | Quelle / kopieren |
Layout-View: | application/layouts/LAYOUTNAME/views/modules/article/archive/index.php | Ziel / einfügen |
Vorschau - alle Artikel nach Zeit / Archiv / Zeitauswahl
screenshot_archive.jpg
Info | Pfad | Bemerkung |
---|---|---|
URL: | domain.de/index.php/article/archive/show/year/2022/month/12 | |
App-View: | application/modules/article/views/archive/show.php | Quelle / kopieren |
Layout-View: | application/layouts/LAYOUTNAME/views/modules/article/archive/show.php | Ziel / einfügen |
Vorschau - alle Artikel nach Kategorien
screenshot_cat.jpg
Info | Pfad | Bemerkung |
---|---|---|
URL: | domain.de/index.php/article/cats/show/id/1 | |
Appl-View: | application/modules/article/views/cats/show.php | Quelle / kopieren |
Layout-View: | application/layouts/LAYOUTNAME/views/modules/article/cats/show.php | Ziel / einfügen |
Anzeige - alle Artikel nach Keyword
screenshot_key.jpg
Info | Pfad | Bemerkung |
---|---|---|
URL: | domain.de/index.php/article/keywords/show/keyword/ilch | |
App-View: | application/modules/article/views/keywords/show.php | Quelle / kopieren |
Layout-View: | application/layouts/LAYOUTNAME/views/modules/article/keywords/show.php | Ziel / einfügen |
Vorschau - alle Artikel
screenshot_index.jpg
Info | Pfad | Bemerkung |
---|---|---|
URL: | domain.de/index.php/article/index/index | |
App-View: | application/modules/article/views/index/index.php | Quelle / kopieren |
Layout-View: | application/layouts/LAYOUTNAME/views/modules/article/index/index.php | Ziel / einfügen |
Anzeige - Vollständiger Artikel
screenshot_show.jpg
Info | Pfad | Bemerkung |
---|---|---|
URL: | domain.de/index.php/article/index/show/id/1 | |
App-View: | application/modules/article/views/index/show.php | Quelle / kopieren |
Layout-View: | application/layouts/LAYOUTNAME/views/modules/article/index/show.php | Ziel / einfügen |
Box - Letzte Artikel
screenshot_box.jpg
Info | Pfad | Bemerkung |
---|---|---|
App-View: | application/modules/article/boxes/views/article.php | Quelle / kopieren |
Layout-View: | application/layouts/LAYOUTNAME/views/modules/article/boxes/views/article.php | Ziel / einfügen |
Dokumentation für ilch 2 | Content-Management-System | Copyright © 2004-2024 by ilch.de
-
Inhaltsverzeichnis
Hier findet man u.a. die Installationsanleitung, sowie Fehler- und Problem-behebungen
-
Inhaltsverzeichnis
Hier findet man Informationen zum Script, Konzept und dem Programmierstil
-
Inhaltsverzeichnis
Hier findet man Informationen über den Aufbau und Anpassung von Layouts und Modulen
-
Inhaltsverzeichnis
Hier findet man einige Video-Tutorials um und mit unserem CMS