ilch Forum » Ilch CMS 2.X » Allgemein » Wie Kernmodule an ein Layout anpassen?

Geschlossen
  1. #1
    User Pic
    Fleyy Mitglied
    Registriert seit
    20.04.2015
    Beiträge
    54
    Beitragswertungen
    1 Beitragspunkte
    Hallo,

    ich wollte mal nachfragen, wie man Kernmodule bzw allgemein Module an ein Layout anpasst bzw an dessen Änderungen vornimmt?

    Sehe ich das richtig, dass man dazu lediglich eine neue "{modulname}/views/index/show.php" anlegt, in der man den Content und dessen Formatierung festlegt? Wenn das so ist, wie wird die "show.php" geladen, wenn man mehrere "show.php"'s hat?

    Oder bin ich völlig auf dem falschen Pfad? Gibt es eventuell eine Art Dokumentation, wie man das Layout eines Moduls anpasst, ohne am Kern rumzufutschen?
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Ok, nehmen wir mal an du willst die View vom Artikel Modul ändern.

    sprich www.deineDomain.de/index.php/article/index/index

    jetzt gehst du zu deinem layout unter application/layouts/clan3columns

    in diesem fall nehme ich mal das standart Design.

    Hier erstellst du dir einen ordner "views" in diesem Ordner erstellst du dir noch einen Ordner "modules", dann noch einen Ordner "article", jetzt noch einen Ordner "index" und in diesem Ordner erstellst du eine "index.php" oder -

    Um es dir einfacher zu machen, gehst du nach "application/modules/article/views/index" und kopierst dir die index.php dann hast du schon mal alles was du brauchst.

    So, scheint zwar etwas merkwürdig aber ist im nachhinen besser und übersichtlicher.
    Jetzt sollte deine Ordnerstruktur so aussehen.



    jetzt kannst du dir die index.php so verändern wie du es möchtest, wenn du keine ahnung von php hast, dann lässt du die teile einfach so wie sie sind und legst sie dir nur dort hin wo du sie brauchst. Sprich du kannst alles was HTML ist verändern.

    Durch die oben genannte Ordnerstruktur ist es also möglich mehrere show.php index.php etc. zu haben und zu ändern.

    Wenn du jetzt noch die show.php also www.deineDomain.de/index.php/article/index/show/id/1 ändern willst, erstellst in dem gleichen Ordner noch eine show.php


    Zuletzt modifiziert von corian am 20.10.2015 - 20:46:28
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Fleyy Mitglied
    Registriert seit
    20.04.2015
    Beiträge
    54
    Beitragswertungen
    1 Beitragspunkte
    Also im Grunde so wie bei Ilch 1.1. Dort hat man ja auch einfach den Template Ordner in den "Design" Ordner kopiert und diese Templatefiles wurden dann mit höhere priorität geladen.

    Das fetzt! geniales und einfaches Prinzip!

    Die "index.php", die sich nun in meinem Layoutordner befindet, greift auch auf die Funktionen zu, welche im Modul definiert sind. Muss ja, sonst würde das Modul ja nichts ausspucken?

    Wie könnte ich nun noch das Modul mit Funktionen erweitern, ohne im Kern etwas zu ändern? Angenommen ich möchte das Article-Modul mit weitern Ausgaben (MySQL Anfragen) bestücken, damit es mehr Informationen ausspuckt.


    Zuletzt modifiziert von Fleyy am 20.10.2015 - 20:47:46
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Ja so "ähnlich" ist es.

    Fragen wir mal so, welche Funktionen willst du hinzufügen?
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Fleyy Mitglied
    Registriert seit
    20.04.2015
    Beiträge
    54
    Beitragswertungen
    1 Beitragspunkte
    Mir fällt spontan keine ein. Dies war nur ein Beispiel.
    Ich meinte es allgemeinbezogen, wenn man ein Kernmodul um Funktionen erweitern möchte, aber den Kern nicht anfassen möchte. Ist dies überhaupt möglch?

    EDIT**

    Also als Beispiel: Ich möchte die Userinformationen um einige Informationsangaben erweitern (zB. Battle.netTag, SteamID, Lieblingsfarbe). Die sollen in der Userliste auch angezeigt werden
    (keine Ahnung ob sowas dynamisch im Backend konfigurierbar ist, wenn ja, tun wir mal so, als wäre das nicht der Fall)

    Nun würde man ja idealer Weise das bestehende User-Kernmodul (welches die Userliste auch beinhaltet) einfach irgendwie extern mit den Funktionen erweitern, ohne dass man im Kernmodul irgendwas umschreiben muss.


    Ich hoffe, ihr versteht was ich meine und dass ihr mir folgen könnt:D


    Zuletzt modifiziert von Fleyy am 20.10.2015 - 21:01:10
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Ich verstehe was du meinst, ist momentan leider noch nicht möglich.
    Aber ich denke mal da werden wir auch noch eine Lösung finden, ich werd es mal zur redmine Liste hinzufügen.

    Mfg und danke
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Fleyy Mitglied
    Registriert seit
    20.04.2015
    Beiträge
    54
    Beitragswertungen
    1 Beitragspunkte
    Ich hab zu danken, für die schnellen Antworten und die Informationen.

    Dankeschön lächeln


    Viele Grüße,
    Fleyy
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Pion Hall Of Fame
    Registriert seit
    25.07.2007
    Beiträge
    870
    Beitragswertungen
    51 Beitragspunkte
    Das sind die Plugins lächeln
    Müssen nur mal Hooks für User-Funktionen etc definieren lächeln
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Fleyy Mitglied
    Registriert seit
    20.04.2015
    Beiträge
    54
    Beitragswertungen
    1 Beitragspunkte
    Funktioniert das auch so mit Boxen? Dass ich individuelle Views für Boxen in meinem Layout anlegen kann?
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Ja das funktioniert schon, muss aber noch mal überarbeitet werden. Was genau für eine Box willst du anlegen?
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Fleyy Mitglied
    Registriert seit
    20.04.2015
    Beiträge
    54
    Beitragswertungen
    1 Beitragspunkte
    Die Artikelbox möchte ich an mein Layout anpassen, quasi ein neues View anlegen


    Zuletzt modifiziert von Fleyy am 08.05.2016 - 14:46:46
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Die Ordnerstruktur in deinem Layout, so anpassen. Ab und mit dem Ordner "override". Die article.php kannst du dir aus der original Box (Ornder views) kopieren und dann anpassen.



    In der Index.php von deinem Layout dann einfach abrufen mit.

    <?=$this->getBox('article', 'article')?>


    aber nur wenn du sie einzeln haben möchtest.

    Mfg corian


    Zuletzt modifiziert von corian am 08.05.2016 - 15:31:58
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Fleyy Mitglied
    Registriert seit
    20.04.2015
    Beiträge
    54
    Beitragswertungen
    1 Beitragspunkte
    Super lächeln Danke.

    Teste ich nachher direkt mal.
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Hier noch mal ein kleiner EDIT, ab sofort wird ausgabe der Boxen so überschrieben wie bei den Modulen (oben beschrieben www.ilch.de/forum-showposts-52923-p1.html#383036) die Ordnerstruktur ist die selbe wie bei den Kern-Modulen.
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Fleyy Mitglied
    Registriert seit
    20.04.2015
    Beiträge
    54
    Beitragswertungen
    1 Beitragspunkte
    ah supi, kannst du mir bitte ein beispiel geben? erschließt sich mir irgendwie nicht ganz wo es nun hingehört.
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    1 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Fleyy Mitglied
    Registriert seit
    20.04.2015
    Beiträge
    54
    Beitragswertungen
    1 Beitragspunkte
    perfekt, danke lächeln
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    TagWache Mitglied
    Registriert seit
    23.01.2016
    Beiträge
    106
    Beitragswertungen
    4 Beitragspunkte
    Erst mal ein schön Sonntag

    kann mir einer sagen wie ich mehre module auf einer seite
    bekomme
    zB. Artikel schreibt man
     <?=$this->getContent() ?>


    jetzt will ich noch ein modul da zu zB.history
    <?=$this->...?...()?>
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten