[TYPO3-german] Extbase: Was spricht gegen negative UIDs?
Jo Hasenau
info at cybercraft.de
Tue Nov 4 09:09:45 CET 2014
> wenn ich mir aktuell ansehe was für Probleme es mit Flux,Gridelements
> gibt: negative colPos-Werte für CEs wenn sie in einem anderen Element
> eingebunden sind (IRRE). und auf einmal verrutschen Elmeente aus der
> hauptspalte (colPos=0) ins Nirwana (colPos = -1 ohne Parent)
Bei Gridelements hat das einen relativ einfachen Grund: Sämtliche echten
Content-Elemente fast aller TYPO3-Installationen werden mit Hilfe von
CONTENT geholt, wobei das einzige Unterscheidungskriterium der
colPos-Wert ist.
Es gibt zwar ein Feld tx_gridelements_container, mit dem sich eindeutig
feststellen lässt, ob es sich um ein Kind-Element handelt oder nicht,
das würde aber bedeuten, dass die where-Clauses aller genannten
Installationen modifiziert werden müssten, damit Elemente nicht doppelt
angezeigt werden. WHERE colPos = x AND tx_gridelements_container = 0
Eine dritte Möglichkeit wäre gewesen, die Kind-Elemente in eine eigene
Tabelle zu packen, damit wären sie aber für andere Dinge wie z.B.
Section-Menüs oder Teaser nur noch mit zusätzlichem Aufwand für die
Integratoren verfügbar gewesen.
Wir hatten also die Wahl zwischen einem eindeutigen Wert für colPos und
entsprechendem Migrationsaufwand für die meisten Anwender und haben uns
für die nutzerfreundliche Variante entschieden.
Dass Flux und andere Extensions teilweise falsche Werte vergeben, ist
ein Bug in deren Umgang mit der Kombination von colPos und Container.
Wenn das Container-Feld einen Wert größer 0 hat, muss der Wert für die
Spalte -1 sein und umgekehrt. Andere Kombinationen führen übrigens nicht
direkt ins Nirwana, weil sich die Elemente meistens mit Hilfe des
DB-Check-Tools (oder dem bösen PHPmyAdmin) ausfindig machen und ändern
lassen.
Der Unterschied von Gridelements zum Scenario in diesem Thread ist
allerdings, dass es sich bei tt_content um eine Tabelle handelt, die von
Anfang an in fast allen TYPO3-Installationen genutzt wurde. Wir mussten
uns also irgendwie anpassen. Bei einem Neukonstrukt würde ich das nicht
so machen, sondern immer über ein eigenes Feld gehen.
HDH
Joey
--
Diversity:
Die Kunst zusammen unabhängig zu denken
The art of thinking independently together.
--
Facebook: https://www.facebook.com/johasenau
Twitter: http://twitter.com/bunnyfield
Xing: http://contact.cybercraft.de
TYPO3 cookbook (2nd edition): http://www.typo3experts.com
More information about the TYPO3-german
mailing list