[TYPO3-german] TS: Content Slide mit Datensätzen

Stephan Schuler Stephan.Schuler at netlogix.de
Thu Sep 16 21:24:24 CEST 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hallo zusammen.


Ich hab mich Anfang der Woche in eine Problemstellung vertieft, die ich dann aber mangels geeigneter Lösungsmöglichkeiten dann aber doch umgangen hab. Die Situation war teilweise hausgemacht, die von mir dann realisierte Lösung trotzdem dem Kundenwunsch entsprechend -- nur nicht vollständig das was ich mir unter "schön" vorstelle. Deshalb hier mal für euch, vielleicht habt ihr ja einige Ideen.


Die Aufgabenstellung ist folgende (die Beispielsituation zur Vereinfachung der Darstellung verfälscht):

Ich definiere einen Datentyp "Headerelement" also Datenbanktabelle mit entsprechendem TCA.
Ein Headerelement hat diverse Attribute, darunter eine Bannergrafik und einen Alternativtext.
Dieses Headerelement ist übersetzt, um sowohl die Möglichkeit zu haben, sprachabhängig unterschiedliche Headergrafiken (sofern Flaggen im Logo verwendet werden) und sprachabhängige Alternativtexte verwenden zu können.
Ein Headerelement kann über entsprechende Attribute in der Datenbank versteckt oder gelöscht werden.

Einer Seite (page) ist ein solches Headerelement zugeordnet.

Die Zuordnung eines einzelnen Headerelements zu mehreren Seiten ist explizit gewünscht, da es mehrere (etwa 100 unterschiedliche) nicht-hierarchische Einzelseiten (Treelevel 1) gibt, die sich zehn Headerelemente teilen.

Die von mir bevorzugte Bedienung ist ein nested IRRE, sodass ich aus den Seiteneigenschaften heraus den jeweils zugeordneten "Headerelemenet"-Datensatz inline bearbeiten kann (rot umrandet weil der Datensatz mehreren Seiten zugeweisen ist).

Daraus resultiert eine MM-artige Tabelle (Meta-Record, zweiter expliziter Datentyp mit eigenem TCA-Eintrag) auf die innerhalb der Seite referenziert wird und die ihrerseits dann einen "Headerelement"-Record referenziert.


Bis zu diesem Punkt entspricht meine Vorstellung meiner Lösung, die Sache funktioniert. Fehlt die Anzeige.


Zur Vereinfachung der Problemstellung würde ich zur Not auf netsted IRRE verzichten und stattdessen einen "Headerelement"-Datensatz als SELECT- oder GROUP-Beziehung (1:*, die UID des Headerelements steht direkt in der Seite) verknüpfen. Dadurch wird die Bedienung zwar ein stück weniger wie ich mir das vorstelle, daran soll s aber nicht unbedingt scheitern.


Ins Frontend bringen will ich dieses Konstrukt eigentlich ausschließlich via Typoscript. Auslesen via Content-Slide und das erste passende anzeigen.


Problem 1: Content Slide kümmert sich nicht sonderlich um "deleted" oder "hidden", ein Treffer eines gelöschten oder versteckten Datensatzes fliegt beim Rendern raus und erzeugt einen leeren Fleck.

Problem 2: Das IRRE-Konstrukt hinterlässt im pages-Record keine UID sondern die Anzahl der verwendeten MM-Tabellen. Contente Slide findet dann zwar grundsätzlich die Seite von der der Eintrag kommt, die UID der zutreffenden Seite oder gar die UID des zutreffenden Eintrags steht aber nicht bereit.


Man *könnte* nun vermutlich mit einem Split der Rootline, iterativem Auslesen aller Pages bis zur Rootline "JOIN MM" und einem Register "wird true wenn ein Header gerendet wird und so den Root-Header überschreibt" arbeiten. Das dafür notwendige Typoscript-Konstrukt wird dann aber doch nicht grade klein -- und das Rendering des Headerelements ist dabei noch nicht mal beachtet sondern lediglich das Auffinden.


Mein Workaround war -- wie gesagt erlaubt da Bedienung und Art der Umsetzung nicht Bestandteil der Anforderung waren und "ich schreib die Bilder per Hand ins TS" auch eine zumutbare Lösung gewesen wäre -- die Headerelement-Datensätze einfach weder deleted noch hidden werden zu lassen sodass der normael Content-Slide, sofern er ein Element findet, auch das richtige Trifft.


Kennt jemand für sowas nen schöneren Weg? Oder wäre das die Stelle an der ihr dann doch zu PHP greifen würdet? Ich bin nämlich grade doch ein wenig enttäuscht dass ich an meiner IRRE-Slide-Lösung gescheitert bin.


Grüße,
Stephan.
Stephan Schuler
Web-Entwickler

Telefon: +49 (911) 539909 - 0
E-Mail: Stephan.Schuler at netlogix.de
Internet: http://media.netlogix.de


- --
netlogix GmbH & Co. KG
IT-Services | IT-Training | Media
Andernacher Straße 53 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: mailto:info at netlogix.de | Internet: http://www.netlogix.de/

netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Stefan Buchta, Matthias Schmidt




-----BEGIN PGP SIGNATURE-----
Version: PGP Universal 3.0.0 (Build 2881)
Charset: Windows-1252

wpUDBQFMkm7qpp0IwsibV8MBCETCA/99OHxTdbsTQARty8QFx1L4wYvEN7NZGIYG
Rj8MrFEIQTIcqXQwpTdV7ETpPiITNGlMhc9wPSqOExvtDvhuBDk94XH1TKse2kcq
ebIAyRlbrkxVGOWk7ACN58iCM6wJFL++2upDM37nDz70CNeLkUDUxMlQCvtfx+7v
z3gg5WYjng==
=jT44
-----END PGP SIGNATURE-----


More information about the TYPO3-german mailing list