exec_SELECT_mm_query auf Datensätze in mehreren Sprachen
| Autor | Nachricht |
|---|---|
|
Verfasst am: 23. 06. 2009 [18:03]
|
|
|
cooper64
Themenersteller
Dabei seit: 20.04.2005
Beiträge: 115
|
Hallo, ich brauch mal n Schubs in die richtige Richtung. Hab für ein FrontendPI ne Produkttabelle und ne separate Tabelle mit Produktbeschreibungen (weil mehrsprachig) in einer m:n Beziehung angelegt. Das Produkt verweist über die Relationstabelle auf den jeweiligen deutschen Beschreibungsdatensatz. Diese wurden im BE über die Lokalisierungsansicht übersetzt ins Englische, dh. der englische DS verweisen seinerseite über die Spalte l18n_parent auf den deutschen. Gibt es dafür eine Standardabfrage, die mir die passenden Beschreibung entsprechend der aktuellen SprachID aus der DB holt? Im Moment sieht das bei mir so aus: PHP $select = 'tx_brprod_description.description'; $local_table = 'tx_brprod_product'; $mm_table = 'tx_brprod_product_desc_relation_mm'; $foreign_table = 'tx_brprod_description'; $where = "AND tx_brprod_product.uid = '" . $key ."' AND tx_brprod_description.sys_language_uid IN (-1,0)" . $this->cObj->enableFields($foreign_table); $res = $GLOBALS['TYPO3_DB']->exec_SELECT_mm_query( $select, $local_table, $mm_table, $foreign_table, $where, $groupBy='', $orderBy='', $limit='' ); cooper _______________________
http://www.my-dynastie.de |
|
Verfasst am: 24. 06. 2009 [09:39]
|
|
|
npre
Dabei seit: 23.03.2008
Beiträge: 90
|
PHP AND sys_language_uid ='".$GLOBALS['TSFE']->config['config']['sys_language_uid']."' zu einfach? |
|
Verfasst am: 24. 06. 2009 [10:16]
|
|
|
cooper64
Themenersteller
Dabei seit: 20.04.2005
Beiträge: 115
|
jain - so einfach isses denn wohl doch nicht. Ich denke mein Problem liegt schon beim Anlegen der Datensätze und den Beziehungen... Ich dachte mit das so: Prod.Tabelle hat keine sprachrelevanten Attribute, also lege ich das Produkt hier ohne Lokalisierung an. Über die MM-Tabelle wird dann mit der Beschreibungstabelle verknüpft, die Lokalisiert Beschreibungen in deutsch und englisch liefert. So geht das aber nicht, denn zum einen fehlt nun der MM-Tabelle die Beziehung des 'deutschen' Produkts zum englischen Datensatz - weswegen die obige Abfrage nichts liefert. Außerdem hab ich nun im Formular der Produktbeschreibungszuweisung eine Liste der deutschen und engl. Datensätze. Wenn da noch 3 Sprachen dazu kommen wirds echt lang und unübersichtlich. Was ich eigentlich will, das Produkt nur einmal in deutsch anlegen ohne weitere Lokalisierung, dort auch nur die deutschen Beschreibungen zuweisen zu können und über das Script dann die alternative Sprache aus der DB zu holen, wenn auf engl. umgeschaltet ist. Puh, ich denke, das ist alles viel zu kompliziert formuliert Also mal ganz knapp: Wie bekomme ich über das TCA meinem Listenfeld für die Beschreibungszuweisung gesagt: zeige mir nur die deutschen Datensätze an. cooper _______________________
http://www.my-dynastie.de |
|
Verfasst am: 24. 06. 2009 [10:31]
|
|
|
cooper64
Themenersteller
Dabei seit: 20.04.2005
Beiträge: 115
|
Habs schon gefunden - Danke. Am Anfang sucht man halt noch ein wenig in den Objekten Mein Sprachproble löse ich dann mit nem Subselect, das mir die jeweilige Untersprache des deutschen Datensatzes liefert. Das sollte funktionieren cooper _______________________
http://www.my-dynastie.de |



