[TYPO3-german] Extbase und eigene SQL-Abfragen für m:m.related tables

Renzo Bauen typo3 at conpassione.ch
Mon Aug 12 12:25:26 CEST 2013


Und im TER hast Du nichts gefunden?
Gibt es da nicht die Ext  groupdelegation die sowas macht?

Gruss Renzo
-- 

________________________________________________________________________


Renzo Bauen
conPassione gmbh
T +41 33 345 00 92
M +41 79 330 10 11
http://www.conpassione.ch
TYPO3 Bronce Associate 

Am Montag, den 12.08.2013, 11:40 +0200 schrieb Christian Hennecke:

> Am 10.08.13 17:12, schrieb Robert Wildling:
> 
> Hallo Robert,
> 
>  > Folgende Situation (Extbase 6.1, TYPO3 CMS 6.1.3, php 5.4.10):
> > Eine Tabelle "tx_kofomi_domain_model_persons" hat beim Feld
> > "nationality" eine m:m-Relation zu static_info_tables. (Die Person kann
> > mehrere Nationalitäten besitzen.) Am Kopf der Seite soll ein Menü gebaut
> > werden, dass die Länder, die in Verwendung sind, als Dropdown-Liste
> > anzeigt (bei Auswahl eines Landes greift dann ein Isotopes-Script und
> > filtert die Anzeigt.)
> >
> > Ich will das mit TypoScript lösen, aber sobald ich ein leftjoin einbaue,
> > funktioniert das nicht mehr. Das ist das Script:
> >
> >
> > lib.MENU_COUNTRIES=CONTENT
> > lib.MENU_COUNTRIES{
> > table=tx_kofomi_domain_model_persons
> > select{
> > selectFields=tx_kofomi_domain_model_persons.nationality,static_countries.cn_short_de
> > leftjoin=static_countriesON(tx_kofomi_domain_model_persons.nationality=static_countries.uid)
> > #where = static_countries.deleted=0 AND static_countries.hidden=0 AND
> > tx_kofomi_domain_model_persons.deleted = 0 AND
> > tx_kofomi_domain_model_persons.hidden=0
> > groupBy=tx_kofomi_domain_model_persons.nationality
> > pidInList = 0
> > #orderBy = cn_short_de
> > }
> > renderObj=COA
> > renderObj{
> > 10=TEXT
> > 10.dataWrap=<li>{field:static_countries.cn_short_de}</li>
> > }
> > }
> 
> [schnipp]
> 
> > Kann mir jemand erklären, warum das mit TS nicht geht? Ich weiß, dass
> > TS-select-Abfragen nicht funktionieren, wenn kein pidInList angegeben
> > wird, weswegen im angegebenen Abschnitt ein pidInlist angegeben wird...
> > Auch stellt sich mir die Frage, wie im renderObj ein Feld angesprochen
> > wird, wenn man mit m:m-Tabellen arbeitet - mit dem Tabellennamen vorm
> > Feld? Dazu finde ich absolut gar keine Dokumentation und auch keine
> > Beispiele. (Das renderObj zu Debug-Zwecken einfach nur mit einem
> > value=Test zu ersetzen, erzeigt übrigens auch keine Ausgabe...)
> 
> Das bei Verwendung von value=Test nichts ausgegeben wird, sagt uns schon 
> mal, daß die Abfrage kein Ergebnis liefert. Mit pidInList = 0 bekommst 
> du natürlich nur Datensätze zurück, wenn auch die Einträge für 
> tx_kofomi_domain_model_persons auf der Seite mit der ID 0 liegen.
> 
> Insgesamt wundere ich mich etwas über die verwendeten Tabellen. In 
> tx_kofomi_domain_model_persons stehen die Personen und in 
> static_countries die Länder. Dann fehlt hier für eine n:m-Situation aber 
> die Verknüpfungstabelle, oder steh ich gerade auf dem Schlauch?
> 
> Die Felder sprichst du normal über ihre Namen an. Problematisch wird 
> das, wenn Feldnamen doppelt vorkommen, weil dann nur das Feld einer der 
> Tabellen zugänglich ist. In solchen Fällen sollte die Verwendung von AS 
> im Parameter selectFields helfen. Im vorliegenden Fall sollte aber 
> folgendes gehen:
> 
> 10.dataWrap = <li>{field:cn_short_de}</li>
> 
> > Und schließlich: Kann man dieses Problem auch mit Extbase selbst lösen?
> > Sprich: ist es möglich, im Controller "Person" in der listAction eine
> > Funktion einzubauen, die dieses Ländermenü bastelt? Meine Versuche, im
> > Repository bzw. im Controller eine Funktion zu bauen, die auf eine
> > Tabelle und deren Inhalt außerhalb des eigenen Objekts zuzugreifen
> > versucht, sind bislang gescheitert. Und TYPO3 v4
> > $GLOBALS[''].exec_SELECTquery ... möchte ich (noch) nicht verwenden,
> > weil es darum geht, Extbase und TYPO3 6.1 zu lernen.
> 
> Bei Extbase und n:m schnalle ich derzeit auch noch ab. :-(
> 
> Gruß
> Christian
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


More information about the TYPO3-german mailing list