Peter Linzenkirchner
2013-05-19 17:38:55 UTC
Hallo,
folgender (eigentlich ziemlich einfacher) Ansatz:
Eine B?cherliste soll ausgegeben werden, wobei die Ausstattung der B?cher in einer zweiten Tabelle ausgelagert wurde. Man soll sowohl innerhalb der B?cherliste die Ausstattung sehen k?nnen, wie auch (?ber eine zweite Seite) alle B?cher, die eine bestimmte Ausstattung haben.
Also:
Model Book, Entity, Aggregate Root (ergibt die einfache B?cher-Liste)
Model Outfit, Entity, Aggregate Root (ergibt Liste mit Ausstattungen: Gebunden, Paperback etc. mit Liste der B?cher)
Book und Outfit sind verbunden ?ber eine 1:n Verkn?pfung.
Das Ganze funktioniert nur, wenn ich im Extension Builder wechselseitige Relationen anlege:
Book: n:1 Relation f?r Outfit
Outfit: 1:n Relation zu Books
1. Eine n:1-Relation wird vom Extension Builder im TCA als einfaches SELECT umgesetzt. Also eine DropDownliste.
2. Eine 1:n-Relation wird als Inline (IRRE) umgesetzt.
Fall 1 ist OK, so will ich es haben.
Fall 2 ist nicht OK, aber anscheinend unvermeidbar.
---
Prinzipiell funktioniert die Ausgabe, ich erhalte das gew?nschte Ergebnis im Frontend:
- B?cherliste mit Angabe der Ausstattung
- Liste der Ausstattung und ?ber die show-Action auch die Buchliste, welche diese Ausstattung haben
ABER:
Das ist fix verkn?pft mit diesem TCA.
'books' => array(
'exclude' => 0,
'label' => 'LLL:EXT:...[]...books',
'config' => array(
'type' => 'inline',
'foreign_table' => 'tx_literatur_domain_model_book',
'foreign_field' => 'outfit',
'maxitems' => 9999,
'appearance' => array(
'collapseAll' => 1,
'levelLinksPosition' => 'top',
'showSynchronizationLink' => 1,
'showPossibleLocalizationRecords' => 1,
'showAllLocalizationLink' => 1
),
),
),
Ich kann lediglich w?hlen zwischen IRRE und SELECT. Wenn ich es komplett rausnehme, dann funktionieren die Objektrelationen in Extbase nicht mehr.
Was passiert, wenn sich irgendwann tats?chlich mal 9999 IRRE-Records ansammeln? Ich kann mir nicht vorstellen, dass man das noch bearbeiten kann - ich w?rde mal behaupten, beim ?ffnen st?rzt der Browser ab. Ausserdem will ich nicht, dass die Redakteure das ?berhaupt sehen, sie sollen ?ber Books gehen und das DropDown nutzen.
Wie macht man das richtig?
Danke!
Peter
--
Xing: http://www.xing.com/profile/Peter_Linzenkirchner
Web: http://www.typo3-lisardo.de
Facebook: http://tinyurl.com/lisardo-multimedia
folgender (eigentlich ziemlich einfacher) Ansatz:
Eine B?cherliste soll ausgegeben werden, wobei die Ausstattung der B?cher in einer zweiten Tabelle ausgelagert wurde. Man soll sowohl innerhalb der B?cherliste die Ausstattung sehen k?nnen, wie auch (?ber eine zweite Seite) alle B?cher, die eine bestimmte Ausstattung haben.
Also:
Model Book, Entity, Aggregate Root (ergibt die einfache B?cher-Liste)
Model Outfit, Entity, Aggregate Root (ergibt Liste mit Ausstattungen: Gebunden, Paperback etc. mit Liste der B?cher)
Book und Outfit sind verbunden ?ber eine 1:n Verkn?pfung.
Das Ganze funktioniert nur, wenn ich im Extension Builder wechselseitige Relationen anlege:
Book: n:1 Relation f?r Outfit
Outfit: 1:n Relation zu Books
1. Eine n:1-Relation wird vom Extension Builder im TCA als einfaches SELECT umgesetzt. Also eine DropDownliste.
2. Eine 1:n-Relation wird als Inline (IRRE) umgesetzt.
Fall 1 ist OK, so will ich es haben.
Fall 2 ist nicht OK, aber anscheinend unvermeidbar.
---
Prinzipiell funktioniert die Ausgabe, ich erhalte das gew?nschte Ergebnis im Frontend:
- B?cherliste mit Angabe der Ausstattung
- Liste der Ausstattung und ?ber die show-Action auch die Buchliste, welche diese Ausstattung haben
ABER:
Das ist fix verkn?pft mit diesem TCA.
'books' => array(
'exclude' => 0,
'label' => 'LLL:EXT:...[]...books',
'config' => array(
'type' => 'inline',
'foreign_table' => 'tx_literatur_domain_model_book',
'foreign_field' => 'outfit',
'maxitems' => 9999,
'appearance' => array(
'collapseAll' => 1,
'levelLinksPosition' => 'top',
'showSynchronizationLink' => 1,
'showPossibleLocalizationRecords' => 1,
'showAllLocalizationLink' => 1
),
),
),
Ich kann lediglich w?hlen zwischen IRRE und SELECT. Wenn ich es komplett rausnehme, dann funktionieren die Objektrelationen in Extbase nicht mehr.
Was passiert, wenn sich irgendwann tats?chlich mal 9999 IRRE-Records ansammeln? Ich kann mir nicht vorstellen, dass man das noch bearbeiten kann - ich w?rde mal behaupten, beim ?ffnen st?rzt der Browser ab. Ausserdem will ich nicht, dass die Redakteure das ?berhaupt sehen, sie sollen ?ber Books gehen und das DropDown nutzen.
Wie macht man das richtig?
Danke!
Peter
--
Xing: http://www.xing.com/profile/Peter_Linzenkirchner
Web: http://www.typo3-lisardo.de
Facebook: http://tinyurl.com/lisardo-multimedia