TYPO3-Testaccount
Testen Sie die aktuelle TYPO3 Version 4.4.2 kostenlos und unverbindlich für einen Monat!

jetzt testen

Schulungen

jetzt buchen

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: 106
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
ProfilWWW
Verfasst am: 24. 06. 2009 [09:39]
npre
Dabei seit: 23.03.2008
Beiträge: 87
PHP
AND sys_language_uid ='".$GLOBALS['TSFE']->config['config']['sys_language_uid']."'


zu einfach?
Profil
Verfasst am: 24. 06. 2009 [10:16]
cooper64
Themenersteller
Dabei seit: 20.04.2005
Beiträge: 106
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 icon_wink.gif

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
ProfilWWW
Verfasst am: 24. 06. 2009 [10:31]
cooper64
Themenersteller
Dabei seit: 20.04.2005
Beiträge: 106
Habs schon gefunden - Danke.

Am Anfang sucht man halt noch ein wenig in den Objekten icon_wink.gif

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
ProfilWWW