ilch Forum » Ilch CMS 2.X » Design und Templates » Layout config.php - Richtiger Eintrag ?

Geschlossen
  1. #1
    User Pic
    kugelschubs-neu Mitglied
    Registriert seit
    22.09.2018
    Beiträge
    8
    Beitragswertungen
    1 Beitragspunkte
    Hallo ilch Gemeinde,

    habe gerade eine Seite "test" erstellt und wollte diese mit einer entsprechenden index.php im Layout laden, nur leider finde ich nichts entsprechendes in der Dokumentation, noch über die SuFu des Forums.

    Ich habe das 3 Spalten Clan Layout geklont um auf Basis dessen ein eigenes aufzubauen.
    Für bestimmte Module und Seiten (Mitgliederbereich) soll eine eigens angelegte index_lnd.php aufgerufen werden.

    Mit den vorhandenen Modulen klappt das einwandfrei.
    Aber wie stell ich das mit Seiten an?

    Hier das entsprechende Snippet aus meiner config.php:

                'index_lnd' => [
                    ['module' => 'user'],
                    ['module' => 'birthday'],
                    ['module' => 'events'],
                    ['module' => 'away'],
                    ['module' => 'downloads'],
                    ['module' => 'statistic'],
                    ['module' => 'vote'],
                    ['module' => 'calendar'],
                    ['module' => 'forum'],
                    ['module' => 'checkoutbasic'],
                    ['module' => 'faq'],
                    ['module' => 'pages', 'controller' => 'test' ] // Hier liegt der Knackpunkt - wie wäre es richtig ?
                ]


    Danke im Voraus für Eure Hilfe.

    LG
    kugelschubs


    verwendete ilch Version: 2.1.x

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Hey, das müsste so gehen.


    ['module' => 'admin', 'controller' => 'page', 'id' => '1'] ID musst du schaun welche du nimmst,
    steht im link im adminbereich.


    Zuletzt modifiziert von corian am 14.10.2018 - 21:42:10
    1 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    kugelschubs-neu Mitglied
    Registriert seit
    22.09.2018
    Beiträge
    8
    Beitragswertungen
    1 Beitragspunkte
    das funktioniert, vielen Dank
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    kugelschubs-neu Mitglied
    Registriert seit
    22.09.2018
    Beiträge
    8
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von corian
    Hey, das müsste so gehen.


    ['module' => 'admin', 'controller' => 'page', 'id' => '1'] ID musst du schaun welche du nimmst,
    steht im link im adminbereich.


    Zuletzt modifiziert von corian am 14.10.2018 - 21:42:10


    Hey,

    hab gerade festgestellt das es nur teilweise funktioniert.
    Zwar wird für das Modul admin und den Controller Page eine entsprechende index aufgerufen, allerdings unterscheidet er nicht nach IDs.

    Meine Config:
    <?php
    
    namespace Layouts\lnd\Config;
    
    class Config extends \Ilch\Config\Install
    {
        public $config = [
            'name' => 'LEGENDS NEVER DIE',
            'version' => '1.0',
            'author' => 'lnd-do.de',
            'link' => 'https://www.lnd-do.de',
            'desc' => 'LEGENDS NEVER DIE - TEMPLATE',
            'layouts' => [
                'index_full' => [
                    ['module' => 'user', 'controller' => 'panel'],
                    ['module' => 'forum'],
                    ['module' => 'guestbook'],
                ],
                'index_lnd' => [
                    ['module' => 'admin', 'controller' => 'page', 'id' => '1'],
                    ['module' => 'user', 'controller' => 'index'],
                    ['module' => 'birthday'],
                    ['module' => 'events'],
                    ['module' => 'away'],
                    ['module' => 'downloads'],
                    ['module' => 'statistic'],
                    ['module' => 'vote'],
                    ['module' => 'calendar'],
                    ['module' => 'forum'],
                    ['module' => 'checkoutbasic'],
                    ['module' => 'faq']
                ],
                'index_sdb' => [
                    ['module' => 'admin', 'controller' => 'page', 'id' => '2']
                ],
            ],
            //'modulekey' => 'Name of Module'
        ];
    
        public function getUpdate($installedVersion)
        {
    
        }
    }


    Wie man sehen kann, hab ich zwei Seiten.
    Eine mit ID 1 und eine mit ID 2.
    Für die Seite mit der ID 1 soll die index_lnd benutzt werden, für die Seite mit ID 2 die index_sdb.
    Da unterscheidet er aber nicht und nutzt die zuletzt gelesene index_sdb für beide Seiten.

    Oder hab ich einen Denkfehler?

    LG
    kugelschubs
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Ich taste mich gerade an ilch2 heran und möchte ein neues Template, das mit unterschiedlichen Layouts arbeitet, erstellen.

    Habe hier das gleiche Problem, dass die config.php nicht nach ID der jeweiligen Textseite unterscheidet.

    Habe für ID 1 einen Eintrag in der config.php hinterlegt, für ID 2 ist kein Eintrag hinterlegt.
    Wenn ich jetzt die Textseite mit ID 2 aufrufe, wird das Layout von ID 1 (siehe cfg) angezeigt.

    <?php
    
    namespace Layouts\template\Config;
    
    class Config extends \Ilch\Config\Install
    {
        public $config = [
            'name' => 'Template',
            'version' => '1.0',
            'author' => 'ilch.de',
            'link' => 'http://ilch.de',
            'desc' => '3 Spalten Clan Layout',
            'layouts' => [
                'index_full' => [
                    ['module' => 'user', 'controller' => 'panel'],
                    ['module' => 'forum'],
                    ['module' => 'guestbook'],
                ],//only for example
                'index_test' => [
                    ['module' => 'admin', 'controller' => 'page', 'id' => '1']
                ]//only for example
            ],
            //'modulekey' => 'Name of Module'
        ];
    
        public function getUpdate($installedVersion)
        {
    
        }
    }


    Zudem habe ich Folgendes noch getestet:

    Textseite ID 2 und Textseite ID 3 erstellt, Textseite ID 1 gelöscht, cfg.php nicht angepasst.
    Ergebnis: Egal welche Textseite ich aufrufe, es wird immer das Layout das ich für "page" hinterlegt habe, angezeigt - die jeweilige ID greift überhaupt nicht.

    Muss ich der config.php noch etwas hinzufügen oder ist das generell ein Bug?


    Zuletzt modifiziert von Ahrtas am 29.12.2019 - 22:17:46
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Slipi ilch.de Design
    Registriert seit
    19.01.2018
    Beiträge
    939
    Beitragswertungen
    117 Beitragspunkte
    Hallo

    Für erstellte Seiten muss man zurzeit die id abfragen, da bist du schon mal auf dem richtigen weg, jedoch hast du vergessen die action anzugeben zb. Index oder Show

    <?php
      
    namespace Layouts\Clan3Columns\Config;
      
    class Config extends \Ilch\Config\Install
    {
        public $config = [
            'name' => 'Ilch-Clan',
            'version' => '1.0',
            'author' => 'Ilch.de',
            'link' => 'http://ilch.de',
            'desc' => '3 Spalten Clan Layout',
            'layouts' => [
                'index_full' => [
                    ['module' => 'user', 'controller' => 'panel'],
                    ['module' => 'forum'],
                    ['module' => 'guestbook'],
                    ['module'=>'admin', 'controller'=>'page', 'action'=>'show', 'id'=>'1'],
                    ['module'=>'admin', 'controller'=>'page', 'action'=>'show', 'id'=>'3']
                ],
                'index_full1' => [
                    ['module'=>'admin', 'controller'=>'page', 'action'=>'show', 'id'=>'2'],
                    ['module'=>'admin', 'controller'=>'page', 'action'=>'show', 'id'=>'5']
                ]//only for example
            ],
            //'modulekey' => 'Name of Module'
        ];
      
        public function getUpdate($installedVersion)
        {
      
        }
    }


    Dannach sollte es gehen.
    1 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Vielen Dank Slipi, es funktioniert! lachen
    Hatte das aus Post #2 übernommen.

    Kannst du mir bitte noch erklären wofür die Action "Index" ist?
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Slipi ilch.de Design
    Registriert seit
    19.01.2018
    Beiträge
    939
    Beitragswertungen
    117 Beitragspunkte
    ZitatZitat geschrieben von Ahrtas
    Vielen Dank Slipi, es funktioniert! lachen
    Hatte das aus Post #2 übernommen.

    Kannst du mir bitte noch erklären wofür die Action "Index" ist?


    Sry mein fehler, das Modul Admin hat in den Views nur Show und keine Index.

    Slipi
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    MrZocx Mitglied
    Registriert seit
    04.12.2019
    Beiträge
    4
    Beitragswertungen
    0 Beitragspunkte
    Hätte da auch mal eine frage und verschiedenes probiert. Bei der Artikel Seite komm ich nicht weiter.
    Für die index klappt es mit dem Template, nur für die Show nicht. Wie muss ich das in die Config angeben, das check ich gerade nicht ganz.

    MFG MrZocx
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Slipi ilch.de Design
    Registriert seit
    19.01.2018
    Beiträge
    939
    Beitragswertungen
    117 Beitragspunkte
    Hallo

    Damit die show unterin index_full.php ausgegeben wird müsste es so aussehen

    Um eine bestimmte muss man diese per ID ausgeben

    <?php
    
    namespace Layouts\Clan3Columns\Config;
    
    class Config extends \Ilch\Config\Install
    {
        public $config = [
            'name' => 'Ilch-Clan',
            'version' => '1.0',
            'author' => 'Ilch.de',
            'link' => 'http://ilch.de',
            'desc' => '3 Spalten Clan Layout',
            'layouts' => [
                'index_full' => [
                    ['module' => 'user', 'controller' => 'panel'],
                    ['module' => 'forum'],
                    ['module' => 'guestbook'],
                    ['module'=>'article', 'controller'=>'index', 'action'=>'show', 'id'=>'1'],
                ]//only for example
            ],
            //'modulekey' => 'Name of Module'
        ];
    
        public function getUpdate($installedVersion)
        {
    
        }
    }


    Rein für die SHow müsste es so aussehen

    <?php
    
    namespace Layouts\Clan3Columns\Config;
    
    class Config extends \Ilch\Config\Install
    {
        public $config = [
            'name' => 'Ilch-Clan',
            'version' => '1.0',
            'author' => 'Ilch.de',
            'link' => 'http://ilch.de',
            'desc' => '3 Spalten Clan Layout',
            'layouts' => [
                'index_full' => [
                    ['module' => 'user', 'controller' => 'panel'],
                    ['module' => 'forum'],
                    ['module' => 'guestbook'],
                    ['module'=>'article', 'controller'=>'index', 'action'=>'show'],
                ]//only for example
            ],
            //'modulekey' => 'Name of Module'
        ];
    
        public function getUpdate($installedVersion)
        {
    
        }
    }


    ['module'=>'article', 'controller'=>'index', 'action'=>'show'],
    ['module'=>'gib den key eines modul an', 'controller'=>'gib an welche php', 'action'=>'angebe der function in der angegebene controller php'],

    Im Controller des Modul article, sind 4 function action
    public function indexAction()

    public function showAction()

    public function voteAction()

    public function rssAction()

    github.com/IlchCMS/Ilch-2.0/blob/master/application/modules/article/controllers/Index.php

    Wenn du das komplette modul möchtest, einfach das modul angeben
    ['module' => 'forum'],


    Hoffe ich konnte es verständlich erklären, wenn nicht, frag einfach nach.

    Slipi


    Zuletzt modifiziert von Slipi am 19.03.2020 - 19:31:44
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    MrZocx Mitglied
    Registriert seit
    04.12.2019
    Beiträge
    4
    Beitragswertungen
    0 Beitragspunkte
    Okay jetzt weiß ich wo der Fehler lag. Hab den Crontroller nicht angegeben.

    Danke dir.


    MFG MrZocx
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Design und Templates

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten