Skip to content

Views überschreiben

René Schirmer edited this page Jan 7, 2023 · 24 revisions

--- DIESE SEITE IST NOCH IN ARBEIT ---

Views überschreiben


Inhaltsverzeichnis

Hinweis

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.

Vorgehensweise

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.

Beispiele

Es werden nun am Artikel Modul | „application/modules/article/“ individuelle Anpassungen und die notwendigen Abläufe demonstriert. Diese Beispiele zeigen nur eine Änderung, der Weg bzw. die Art und Weise der Umsetzung lässt sich natürlich auf alle Ideen und Änderungswünsche anwenden.

Beispiel - Gästebuch-Modul

Als Beispiel wäre hier der Plan den Link für einen neuen Eintrag in das Gästebuch durch einen CSS Button optisch etwas zu verschönern.

screenshot_guestbook.jpg

Info Pfad Bemerkung
URL: domain.de/index.php/guestbook/index/index
Application-View: application/modules/guestbook/views/index/index.php Quelle / kopieren
Layout-View: application/layouts/LAYOUTNAME/views/modules/guestbook/index/index.php Ziel / einfügen und anpassen

Nun kann im Code des Views im Layout der Link mit einer CSS Klasse versehen werden z.B. 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

Beispiel - Artikel-Modul

Als Beispiel wäre nun der Plan, dass in allen Anzeigen meiner Artikel nicht mehr der Autor bzw. der Artikelersteller angezeigt wird. 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
Application-View: application/modules/article/views/archive/index.php Quelle / kopieren
Layout-View: application/layouts/LAYOUTNAME/views/modules/article/archive/index.php Ziel / einfügen und anpassen

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
Application-View: application/modules/article/views/archive/show.php Quelle / kopieren
Layout-View: application/layouts/LAYOUTNAME/views/modules/article/archive/show.php Ziel / einfügen und anpassen

Vorschau - alle Artikel nach Kategorien

screenshot_cat.jpg

Info Pfad Bemerkung
URL: domain.de/index.php/article/cats/show/id/1
Application-View: application/modules/article/views/cats/show.php Quelle / kopieren
Layout-View: application/layouts/LAYOUTNAME/views/modules/article/cats/show.php Ziel / einfügen und anpassen

Anzeige - alle Artikel nach Keyword

screenshot_key.jpg

Info Pfad Bemerkung
URL: domain.de/index.php/article/keywords/show/keyword/ilch
Application-View: application/modules/article/views/keywords/show.php Quelle / kopieren
Layout-View: application/layouts/LAYOUTNAME/views/modules/article/keywords/show.php Ziel / einfügen und anpassen

Vorschau - alle Artikel

screenshot_index.jpg

Info Pfad Bemerkung
URL: domain.de/index.php/article/index/index
Application-View: application/modules/article/views/index/index.php Quelle / kopieren
Layout-View: application/layouts/LAYOUTNAME/views/modules/article/index/index.php Ziel / einfügen und anpassen

Anzeige - Vollständiger Artikel

screenshot_show.jpg

Info Pfad Bemerkung
URL: domain.de/index.php/article/index/show/id/1
Application-View: application/modules/article/views/index/show.php Quelle / kopieren
Layout-View: application/layouts/LAYOUTNAME/views/modules/article/index/show.php Ziel / einfügen und anpassen

Box - Letzte Artikel

screenshot_box.jpg

Info Pfad Bemerkung
Application-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 und anpassen

Wiki für ilch-2

Benutzer

  • Inhaltsverzeichnis
    Hier findet man u.a. die Installationsanleitung, sowie Fehler- und Problem-behebungen

Entwickler

  • Inhaltsverzeichnis
    Hier findet man Informationen zum Script, Konzept und dem Programmierstil

Designer

  • Inhaltsverzeichnis
    Hier findet man Informationen über den Aufbau und Anpassung von Layouts und Modulen

Video-Tutorials


Clone this wiki locally