Nachgedacht über TYPOlight Seitenlayouts

TYPOlight ist, was die Seitengestaltung und das Layout angeht, über die Maßen flexibel. Seitenlayout nennt sich das Konstrukt, das anderswo Template heißt. Hier ein paar meiner Überlegungen zum geeigneten Vorgehen bei der Konzeption von Seitenlayouts.


TYPOlight bietet eine derartige Fülle an Varianten zum Layout Aufbau, dass es in meinen Augen durchaus sinnvoll ist, sich verschiedene Varianten einfach mal anzusehen und zu vergleichen.
Da ist es also einmal möglich, Module direkt in ein Seitenlayout einzubinden, oder aber auch, diese in die Artikelstruktur einzubinden.
Beides hat seine Vor- und Nachteile.

Variante: Module über das Seitenlayout einbinden

Wie die Überschrift schon sagt: bei dieser Variante werden die Module direkt im Seitenlayout positioniert.
Es gibt Module, die so häufig vorkommen, dass diese Variante das Mittel der Wahl ist.
Dazu gehören Navigationselemente wie ein Menü oben, rechts oder links, die innerhalb der gesamten Seite sichtbar sind oder ein Breadcrumb.
Mit dem speziellen Modul, beispielsweise dem Breadcrumb, fängt es schon an, dieses wird beispielsweise nicht auf der Startseite benötigt. Okay, das kann man natürlich auch entsprechend konfigurieren, aber manchmal ist eben ein solches Modul auch Teil des (CSS und HTML) Konzepts.
Trotzdem ist es in diesem Fall sinnvoll, ein Seitenlayout mit integriertem (um das Beispiel weiterzuführen) Breadcrumb zu definieren, denn dieses Layout überwiegt.
Für die Startseite wird dann ein eigenes Layout benötigt, ohne Breadcrumb.
Das Layout mit Breadcrumb, bzw. das am Meisten verwendete Layout wird als Standard deklariert.

Damit die Zuweisung des Seitenlayouts nicht zu Verwirrungen führt, sollte die Startseite in der Hierarchie auf keinen Fall zur Wurzel des Seitenbaums werden, denn Seitenlayoutzuweisung wird vererbt, es hätten damit alle Seiten darunter das “ohne Breadcrumb” Layout, so lange man des nicht explizit zuweist.
Das ist einmal fehleranfällig und außerdem mühsam.

Es gibt auch die Möglichkeit, typische Inhaltselemente wie Formulare in ein Layout einzubinden.
Davon kann ich nur abraten, wenn dieses Modul Inhalt ersetzt.
Ausnahme also: das Element ist immer sichtbar und aktiv, beispielsweise das Kontaktformular am Ende dieser Seite.

Der Grund liegt klar auf der Hand:
es wird sonst wirklich richtig unübersichtlich.
Man hat eine Menge Seitenlayouts und findet sich irgendwann trotz vermeintlich glücklich gewählter Benennungen nicht mehr zurecht.
Vor allem wird einen das Vererbungsprinzip verwirren, was dazu führt, dass man sich bei der Erstellung neuer Seiten extrem konzentrieren muss.
Desweiteren wird teilweise schon im TYPOlight Backend davor gewarnt, Elemente in die Seitenstruktur zu integrieren, wenn dieses für durchsuchbare Seiten benutzt wird.

Allgemeiner Best Practice Tipp:
Einbindung von Navigationsmodulen und Listen ins Seitenlayout nur dann, wenn sie sich auf Seiten beziehen, funktionale Module höchstens, falls immer sichtbar.

Variante: Module in Seiten einbinden

Jedes Modul und auch andere funktionale Elemente können auch direkt in Seiten eingebunden werden.
Dies funktioniert dann über den Zwischenschritt Artikel.
Da ein Artikel in jeder beliebigen Layoutposition angelegt werden kann, müssen diese seitenspezifischen Elemente nicht notwendig einen Artikeltext, also den Haupttext ersetzen.
Ist der Artikel einmal angelegt, egal wo, ergänzt man als Element entweder ein Modul oder aber ein anderes Element, wie beispielsweise ein Formular.

Diese Variante ist, wie schon zu vermuten, sinnvoll, wenn es um inhaltsspezifische Elemente/Module geht.
Dazu zählt beispielsweise eine Artikelliste, aber auch ein Kommentar-Element (wobei gerade letzteres schon wieder ein Spezialfall ist, je nachdem ob ein Kommentar eher zum Standardfeature gehört oder nicht).
Auch Formulare können so eingebunden werden. Auf dieser Website wird beispielsweise das Formular Kontakt als Element eingebunden (Seitennavigation Kontakt).

Natürlich muss man sich für konsistente Lösungen ein Prinzip überlegen. Es empfiehlt sich, einfach ganze Seiten oder Artikel zu kopieren und Inhalte zu ersetzen.

Best Practice Tipp:
Wann immer ein Modul oder ein funktionales Element Inhalt ersetzt oder seitenspezifisch ist, wann immer ein solches Element lediglich ein einziges Mal vorkommt und eine Layoutposition nicht bereits durch ein Seitenlayout anderweitig besetzt ist, sollten diese in die Seite und nicht ins Layout integriert werden.

Problemstellung kontextspezifische Navigation

Auf meiner Website medanova habe ich eine Menge an kontextsensitiven Menüeinblendungen.
Hier bin ich mir zum Teil auch nicht recht sicher, ob das nicht irreführend ist, in jedem Fall ist es einigermaßen komplex zu verwalten.
Die Module dafür sind schnell angelegt, sofern man einfach eine Subnavigation benötigt, dann ist dieses Problem auch schnell behoben, denn es ist keines:
Die Module Hauptnavigation, Subnavigation und das allgemeine Navigationsmodul lassen sich hervorragend anpassen.

Schwieriger wird es, wenn im Kontext individuelle Navigationselemente angezeigt werden sollen, denn dann findet man sich leicht wieder in einem Dschungel an halbwegs sinnvoll benannten Modulen und muss sehen, wie man die unterkriegt.
Dann wird es vor allem mit einer ebenso großen Anzahl an Seitenlayouts schlicht kompliziert.

Ich denke, es ist eine Frage der persönlichen Präferenz, ob man hier mehr auf Seitenlayouts oder mehr auf (dann auch komplexe) Seitenaufbauten mit vielen funktionalen Artikeln setzt. Eine Empfehlung kann ich hier erfahrungsgemäß eigentlich nur geben, wenn es ich um Artikellisten oder Module handelt, die beispielsweise über dem Inhalt angezeigt werden sollen:
die kommen auf jeden Fall auf die Seite und nicht ins Layout.

mehrere Websites und das Layout

Ganz genau überlegen sollte man sich in meinen Augen die Frage des Layouts bei einer TYPOlight Installation mit mehreren Websites und unterschiedlichen Benutzergruppen mit Berechtigungen auf jeweils eine oder mehrere Startpunkte, denn es ist soweit ich das beurteilen kann, nicht möglich, Berechtigungen auf ein oder mehrere Layouts zu setzen.
Es ist ebenfalls nicht möglich, Layouts zu schützen, als nur für bestimmte Benutzergruppen freizugeben.
In diese Richtung ist mir zugegeben, noch nichts wirklich Gutes eingefallen.

Wenn man selbst die Seitenstruktur vorgibt und dies der Benutzergruppe nicht zugesteht, ist alles kein Problem. In diesem Fall kann die “betroffene” Website sogar eine Reihe an Layouts haben.
Kann der Benutzer die Seitenstruktur selbst ergänzen, so hilft nur eines:
ein Seitenlayout, dieses für die Startpunktseite vorgeben und die Berechtigung für die Auswahl des Seitenlayouts entsprechend anpassen.
Alternativ ist es eine Variante, beim Seitenlayout vorwiegend auf Module zu setzen, was die Gestaltung aber nicht sonderlich flexibel macht oder das Styling zu einer echten Herausforderung werden lässt.

TYPOlight macht es einem aus Layout Sicht, - sofern man nicht der Administrator der Seitenstruktur ist -, demzufolge nicht einfach, mehrere Websites mit eigenen Benutzergruppen zu verwalten, insofern man mehr als ein Seitenlayout nutzt.

 

Auch was dazu sagen?