Ergebnis 1 bis 5 von 5

Thema: Bei Modulerweiterung auch das Template erweitern

  1. #1
    Gesperrt
    Registriert seit
    02.12.2009.
    Ort
    Berlin
    Beiträge
    103

    Standard Bei Modulerweiterung auch das Template erweitern

    Hallo,

    heute habe ich mal einen Verbesserungsvorschlag, der sich sicher leicht im Contao core umsetzen ließe:


    Ausgangssituation:

    Wenn man ein Modul erweitert, z.B. das news-Modul, so kann man das Backend-Modul wunderbar dadurch erweitern, indem man die DCA ändert und wenn man seinen Modulordner so benennt, dass er im Alphabet später kommt, also z.B. "z_news".

    Um die Änderungen im Frontend-Modul wiederzugeben, geht das ebenso.
    ABER um das Template zu überschreiben uns z.B. neuen Optionen Rechnung zu tragen, muss man entweder für das Modul ein spezielles Template anlegen und auswählen, z.B. news_short_extended, news_full_extended, usw.
    Oder man überschreibt die Templates im globalen templates/ Ordner. Dort heißen sie dann wieder news_short und news_full.


    Problem:

    Leider kann man nicht das Template erweitern bzw. überschreiben, indem man in sein Modulverzeichnis im Templates-Unterordner Templates mit den gleichen Namen anlegt, also z.B. /system/modules/z_news/templates/news_short.tpl


    Die mögliche Lösung:

    Das Problem liegt daran, dass die Methode getTemplate() in /system/libraries/Controller.php im foreach loop ab Zeile 99 ff. die Modulordner alphabetisch durchgeht und mit return sofort das erste gefundene Template zurückgibt.

    Besser wäre es, an dieser Stelle die Module entgegen dem Alphabet durchzugehen.

    PHP-Code:
    // Browse all module folders
    // foreach ($this->Config->getActiveModules() as $strModule) // VORHER
    foreach (array_reverse($this->Config->getActiveModules(), true) as $strModule// BESSER?
    {
        
    $strFile TL_ROOT '/system/modules/' $strModule '/templates/' $strTemplate '.tpl';

        if (
    file_exists($strFile))
        {
            return 
    $strFile;
        }

    Was meint ihr dazu?
    Gruß,
    Matthias
    Geändert von matths (01.04.2011 um 09:57 Uhr)

  2. #2
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    Ich habe bisher leider noch kein Modul erweitert, aber dein Vorschlag klingt gut.
    Willst du nicht direkt ein Feature Request auf http://dev.contao.org anlegen?
    Kein Privat Support via PM.

  3. #3
    Contao-Fan
    Registriert seit
    29.07.2010.
    Beiträge
    516

    Standard

    Hallo,

    ein Problem wird dann auftreten, wenn es mehrere Erweiterungen gibt für ein Modul und jedes mal das Default-Template überschrieben wird z.b. für die News = Gallery und Video.

  4. #4
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Ich finde es problematisch, wenn ein Modul ein früheres Templates überdeckt und damit unerreichbar macht. Es ist ja weiterhin gültig.
    Wer die erweiterten Möglichkeiten nutzen möchte, der kann auch ein anderes Template wählen. Das sollte dann allerdings direkt in der Auswahl zur Verfügung stehen.

    Über einen geänderten Default für das Template bei einem neu angelegten Modul könnte man ja reden...

    Gruß, folkfreund

  5. #5
    Gesperrt
    Registriert seit
    02.12.2009.
    Ort
    Berlin
    Beiträge
    103

    Standard

    also zum einen:

    ja, ich habe das als Feature-Request gepostet: http://dev.contao.org/issues/2977



    zum anderen:

    was ihr schreibt, stimmt schon. Das mit dem Überdecken ist so eine Sache. Aber das ist generell problematisch und nicht nur beim Template. Zum Beispiel erweitert die Tags-Erweiterung die standard news/ Erweiterung. Wenn man die jetzt selber auch noch erweitern will, muss man die vom tags/ Ordner erweitern, da sonst die Tags wieder rausfliegen... das ist generell ein Problem.

    Mir ging's ja nur darum, einen "update-safe" Weg zu finden, die templates meiner Erweiterung mitzugeben und nicht die 4 Template die news/ von Hause aus hat dann auf 7 oder 8 Templates aufzustocken. Dann hätten wir so tolle Templates wie: news_simple_extended oder noch besser news_simple_tags_extended. Das klingt dann gar nicht mehr so simple!




    Erweiterungen werden jedenfalls nach dem Alphabet geparsed, warum dann nicht auch die Templates. That's all.

    Gruß,
    Matthias

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •