Ergebnis 1 bis 6 von 6

Thema: Mehrere Layouts überschreiben funktioniert nicht wie erwartet

  1. #1
    Contao-Fan
    Registriert seit
    10.08.2011.
    Ort
    Berlin
    Beiträge
    835

    Standard Mehrere Layouts überschreiben funktioniert nicht wie erwartet

    Bei einem Projekt das ich übernommen habe sind sehr viele Layouts angelegt worden, leider kann ich die nicht einfach reduzieren mal eben, da in jedem ein anderer Headerslider steckt.
    Da hat der Ersteller leider die Vorteile von Contao verspielt.

    Das Problem ist das in allen Layouts ein Modul ausgeblendet wurde welches nun in allen wieder eingeblendet werden soll.

    Der Weg "Mehrere auswählen" dann entsprechende Layouts auswählen und "Überschreiben -> Eingebundene Module" zeigt lediglich eine Spalte, "Artikel -> Hauptspalte" deaktiviert (also das Auge grau) .

    Würde man nun Speichern wären bei den ausgewählten Layouts sämtliche Module "rausgehauen" .

    Der Weg geht so also nicht, aber wie könnte ich evtl. über die DB veranlassen dass das Modul in allen Layouts aktiviert wird ohne alle durchgehen zu müssen?

  2. #2
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Bennie Beitrag anzeigen
    Bei einem Projekt das ich übernommen habe sind sehr viele Layouts angelegt worden, leider kann ich die nicht einfach reduzieren mal eben, da in jedem ein anderer Headerslider steckt.
    Da hat der Ersteller leider die Vorteile von Contao verspielt.
    Ja, es ist leider leicht möglich die Seitenlayouts so zu konfigurieren, dass sie kaum mehr wartbar sind. Das mehrere Bearbeiten mit Überschreiben funktioniert für dein Anliegen nicht, da die Module in einem einzigen Datenbankfeld gespeichert sind. Das macht auch eine Anpassung direkt in der Datenbank unmöglich. Die Daten werden nämlich als serialisiertes Array abgespeichert.

    Ich löse so einen Aufbau meistens mit der Contao-Erweiterung contao-community-alliance/merger2. Dazu lege ich pro Layoutbereich in Modul Merger² an und binde nur dieses im Seitenlayout an.

    Die jeweiligen Module werden dann im Merger²-Modul definiert. Neben der Möglichkeit diese dann in mehreren Seitenlayouts wiederzuverwenden, lassen sich diese über eine Bedingungssprache auch begrenzen (Z.B. Seite nur an, wenn die aktuelle Seite eine Unterseite von Seite x ist). Dies könntest du z.B. für die Headerslider nutzen

    Damit lassen sich meist die Seitenlayouts auf ein absolutes Minimum reduzieren. Vielleicht ist dies ein Lösungsweg für dich, auch wenn es einen Umbau erfordert.

  3. #3
    Contao-Fan
    Registriert seit
    10.08.2011.
    Ort
    Berlin
    Beiträge
    835

    Standard

    Ok, danke für Deine Antwort.
    Wie gesagt handelt es sich um ein übernommenes Projekt, mein eigener Workflow ist auch so, dass ich meistens eines, maximal aber 2 Layouts benötige.
    Dann muss ich das jetzt eben einmal durchgehen und dann zukünftig das Ganze umbauen .

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Welche Contao Version?

  5. #5
    Contao-Fan
    Registriert seit
    10.08.2011.
    Ort
    Berlin
    Beiträge
    835

    Standard

    4.4.33

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Du könntest die Module mal in einem Seitenlayout ändern, dann den Wert tl_layout.modules von diesem Seitenlayout kopieren und mit einem
    Code:
    UPDATE tl_layout SET modules = '…';
    für alle Seitenlayouts anwenden.

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
  •