Zum Inhalt springen

Sprachwechsel für Datensätze

Erstellt am 31. August 2010 · 2 Antworten · letzte Antwort am 9. Mai 2011

Tags: Frage

Unbekannter Benutzer ·

Hallo zusammen
Weiss jemand von euch wie ich das bewerkstelligen muss, damit ich einen Sprachwechsel für die Datensätze meiner Extension bekomme?
tt_news hat das sauber implementiert (Siehe Bild im Anhang). Leider weiss ich nicht wo ich da ansetzen soll.
Meine Extension habe ich im Kickstarter erstellt. Die Sprachen im SETUP sind auch schon per TS integriert und funktionieren bei allen anderen Einträgen.

Ich habe bereits eine Möglichkeit, die Sprache meiner Datensätze zu wechseln, jedoch muss ich zuerst di Sprache setzen und dann den dazugehörigen default Datensatz.

Über eine Antwort würde ich mcih freuen.
Danke und Gruss Reeko

lang.jpg

amyjazz ·

Ich würde da mit FlexForms arbeiten. Diese bieten dir die Möglichkeit, im Backend Einstellungen für dein Plugin zu treffen, die du dann im entsprechenden PHP-Skript auswerten kannst.
Dazu würde ich dir empfehlen, die Dokumentation zu Rate zu ziehen.

Für die Einstellung der Sprache bietet sich dann ein einfaches Drop-Down-Menü an.

Unbekannter Benutzer ·

Hallo zusammen
Ich versuche das Thema nochmals aufzugreifen, da ich bis jetzt keine Lösung für mein Problem gefunden habe.

reeko schrieb

...
tt_news hat das sauber implementiert (Siehe Bild im Anhang)
...
Ich habe bereits eine Möglichkeit, die Sprache meiner Datensätze zu wechseln, jedoch muss ich zuerst die Sprache setzen und dann den dazugehörigen default Datensatz.
...

Bei mir ist es so:
- Neuer Datensatz anlegen
- Datensatz bearbeiten
- Sprache wechseln
- Speichern
- Ursprungstext auswählen
- Speichern
- Daten eintragen
- Speichern

Bei tt_news funktioniert es ja so:
- Bestehenden Datenstz bearbeiten
- Sprache wechseln => Neuer Datensatz wird automatisch angelegt
- Daten eintragen
- Speichern

Ich habe schon tca.php von tt_news mit meiner Extension verglichen.
Den einzigen Unterschied, welcher mir wirklich ins Auge sprang war, der Wert bei foreign_table_where in l10n_parent.

// tt_news
...
'l18n_parent' => Array (
	'displayCond' => 'FIELD:sys_language_uid:>:0',
	'exclude' => 1,
	'label' => 'LLL:EXT:lang/locallang_general.php:LGL.l18n_parent',
	'config' => Array (
		'type' => 'select',
		'items' => Array (
			Array('', 0),
		),
		'foreign_table' => 'tt_news',
		'foreign_table_where' => 'AND tt_news.uid=###REC_FIELD_l18n_parent### AND tt_news.sys_language_uid IN (-1,0)',
	)
),
...

// Meine Extension
'l10n_parent' => array (		
	'displayCond' => 'FIELD:sys_language_uid:>:0',
	'exclude'     => 1,
	'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
	'config'      => array (
		'type'  => 'select',
		'items' => array (
			array('', 0),
		),
		'foreign_table'       => 'tx_flbsireferences_references',
		'foreign_table_where' => 'AND tx_flbsireferences_references.pid=###CURRENT_PID### AND tx_flbsireferences_references.sys_language_uid IN (-1,0)',
	)
),

Hat jemand eine Lösung oder einen weiteren Ansatz für mich?
Ich habe die Ganze tca.php durchgegrast und wie bei tt_news angepasst. Leider ohne Erfolg.

Ich danke euch schon Vorraus
Gruss Reeko