[Frage] Layouts für ContentElemente [Gelöst] TYPO3-Version: 6.1.7

  • Chrissli Chrissli
    Jedi-General
    0 x
    1015 Beiträge
    28 Hilfreiche Beiträge
    23. 06. 2014, 11:05

    Hallo ich mal wieder :D

    Vielleicht kann mir ja jemand bei dem Thema weiterhelfen.
    Ich habe für meine Contentelemente diverse Layouts angelegt, die jedoch nicht alle für
    jede Spalte gelten, so dass die Liste der auswählbaren Layouts relativ lang werden kann.

    Z.b. habe ich eine Spalte für den Header definiert, in dem die einzelnen Head-Slider mit Text und Bild gepflegt werden. Jetzt gibt es diesen Header in 3 unterschiedliche Höhen, d.h. ich habe nun für jede Höhe ein Layout zur Auswahl definiert ( Header hoch, Header normal, Header flach ).
    Diese Layouts machen aber nur in der Header-Spalte wirklich Sinn, in den normalen Content-Spalten haben diese keine Auswirkung bzw. sorgen nur dafür, dass die Layout-Liste unnötig lang wird.

    Kann man hier im PageTS irgendwelche Bedingungen setzen? Oder gibt es eine bessere Art Layouts in Abhängigkeit zu definieren?

    God's in his heaven, all's right with the world

  • toifel toifel
    Jedi-Ratsmitglied
    1 x
    831 Beiträge
    96 Hilfreiche Beiträge
    23. 06. 2014, 12:11 - Lösung

    Das hier könnte weiter helfen: http://wissen.netzhaut.de/typo3/typoscript/typo3-backend-inhaltselemente-fuer-spalten-beschraenken/

    Ist zwar nicht genau das, was du suchst, aber mit dem Ansatz könnte es funktionieren.

  • Hilfreichster Beitrag

  • toifel toifel
    Jedi-Ratsmitglied
    1 x
    831 Beiträge
    96 Hilfreiche Beiträge
    23. 06. 2014, 16:17 - Hilfreichster Beitrag

    Tatsache.. will bei mir auch nicht funktionieren.
    Hab leider auch keinen Plan, ob/wie man die defVals debuggen kann. Im Quelltext und im Querystring kann ich zumindest nichts finden, was auf eine GET/POST Variable "defVals" hinweisen würde. Sorry


  • 1
  • toifel toifel
    Jedi-Ratsmitglied
    1 x
    831 Beiträge
    96 Hilfreiche Beiträge
    23. 06. 2014, 12:11

    Das hier könnte weiter helfen: http://wissen.netzhaut.de/typo3/typoscript/typo3-backend-inhaltselemente-fuer-spalten-beschraenken/

    Ist zwar nicht genau das, was du suchst, aber mit dem Ansatz könnte es funktionieren.

  • Chrissli Chrissli
    Jedi-General
    0 x
    1015 Beiträge
    28 Hilfreiche Beiträge
    23. 06. 2014, 13:14

    Hallo toifel,

    Danke für den Tipp, das wäre soger GENAU das was ich brauche.
    Leider scheint das nicht zu funktionieren, vermutlich mache ich irgendetwas falsch.
    Vielleicht kann mir ja einer einen Tipp geben.
    So siet das PageTS im Root-Template aktuell aus:

    1. TCEFORM.tt_content {
    2. subheader.disabled = 0
    3. layout {
    4. altLabels.0 = Normal
    5. removeItems = 1,2,3
    6. }
    7. }
    8.  
    9. [globalVar = GP:defVals|tt_content|colPos==11]
    10. TCEFORM.tt_content.layout {
    11. addItems.11 = Header-285
    12. addItems.12 = Header-310
    13. addItems.13 = Header-320
    14. }
    15. [global]

    Soweit ich das beurteilen kann ist der Teil mit dem wizard für neue Content-Elemente nicht nötig,
    da das layout-Feld in diesem Zusammenhang ja keine Rolle spielt.
    Trotzdem ist mein Layout-Feld bis auf das Feld "Normal" immer leer ...

    God's in his heaven, all's right with the world

  • toifel toifel
    Jedi-Ratsmitglied
    1 x
    831 Beiträge
    96 Hilfreiche Beiträge
    23. 06. 2014, 16:17

    Tatsache.. will bei mir auch nicht funktionieren.
    Hab leider auch keinen Plan, ob/wie man die defVals debuggen kann. Im Quelltext und im Querystring kann ich zumindest nichts finden, was auf eine GET/POST Variable "defVals" hinweisen würde. Sorry

  • Chrissli Chrissli
    Jedi-General
    0 x
    1015 Beiträge
    28 Hilfreiche Beiträge
    23. 06. 2014, 16:40

    Danke jedenfalls für den Versuch.
    Sollte hier noch jemand einen Einfall haben oder das in einer aktuellen 6.1er Version benutzt haben, wäre ich natürlich für jeden Tipp dankbar.
    Sollte ich selbst noch etwas finden werde ich das natürlich gerne teilen.
    Ansonsten gibt das halt ne etwas längere Layout-Liste. Naja, wer viel will kriegt auch viel #giggle#

    God's in his heaven, all's right with the world

  • Chrissli Chrissli
    Jedi-General
    0 x
    1015 Beiträge
    28 Hilfreiche Beiträge
    30. 07. 2014, 12:57

    Kleines Update: In der Version 6.2.4 funktionert das so wie von Toifel verlinkt

    God's in his heaven, all's right with the world

  • Chrissli Chrissli
    Jedi-General
    0 x
    1015 Beiträge
    28 Hilfreiche Beiträge
    31. 07. 2014, 09:29

    Nächstes Update:
    So ganz sauber ist das wohl doch noch nicht :(
    Zwar habe ich in den entsprechenden Spalten nur die jeweiligen Elemente zur Auswahl,
    leider funktioniert das jedoch nur beim Anlegen eines CE.
    Bei einer nachträglichen Bearbeitung steht im DropDown-Feld nur noch "WERT IST NICHT ERLAUBT (11)" ohne die anderen Auswahlmöglichkeiten.

    Kennt jemand dieses PHänomen?

    God's in his heaven, all's right with the world

  • zappzarapp zappzarap...
    Jedi-Meister
    1 x
    347 Beiträge
    3 Hilfreiche Beiträge
    31. 07. 2014, 12:16

    Hallo,

    genau vor dem selben Problem stehe ich auch - ich würde gerne je nach CType unterschiedliche "Layouts" anbieten:

    1. [globalVar = GP:defVals|tt_content|CType == menu]
    2. TCAdefaults.tt_content.section_frame = 66
    3. TCEFORM.tt_content.layout.removeItems = 1,2,3,4,5,6
    4. TCEFORM.tt_content.layout {
    5. addItems.18 = Menu Layout 1
    6. addItems.19 = Menu Layout 2
    7. addItems.20 = Menu Layout 3
    8. }
    9. [end]

    GP:defVals dürfte es aber nur beim Anlegen der Seite geben und sonst habe ich keine Möglichkeit gefunden auf die Werte von tt_content zuzugreifen.

    Für Abfragen von Seiteneigenschaften gibt es die [page|field = value] Condition - aber für tt_content habe ich leider nichts gefunden.

    Das verlinkte (mit GP:defVals) ist eine unbrauchbare Lösung, da das nur beim Anlegen des Elements funktioniert - wenn ich zB ein Text Element anlege und das dann auf Menü ändere oder wenn ich ein Menü das schon vorhanden ist bearbeite bekomme ich die "default" Werte ohne meine speziellen Layouts für diesen CType.

    lg Matthias

  • zappzarapp zappzarap...
    Jedi-Meister
    0 x
    347 Beiträge
    3 Hilfreiche Beiträge
    31. 07. 2014, 12:35

    Dein einzige Möglichkeit die ich derzeit sehe, wäre das TCA vom "Layout" Field mit einer userFunc zu überschreiben und dort dann entsprechend auf die Werte des tt_content Element zu reagieren.

    http://docs.typo3.org/typo3cms/TCAReference/Reference/Columns/User/Index.html

    Ich versuche mich einmal daran aber derzeit scheitere ich schon daran nur das Label vom Layout field zu überschreiben. Hab eine typo3conf/extTables.php mit folgendem Inhalt:

    $TCA['tt_content']['columns']['layout']['label'] = 'New label for layout field';

    Im Backend Modul "Configuration" sehe ich auch, dass diese Einstellung (zumindest bis hierhin) übernommen wird - aber im Formular selbst steht noch immer Layout.

  • 1