Addon-Tabelle mehrsprachig

Bei Problemen/Anregungen mehrsprachiger Webseiten.

Addon-Tabelle mehrsprachig

Beitragvon ovo » 29. Okt 2010, 22:11

Hallo,
ich möchte ein Addon schreiben, welches die Mehrsprachigkeit in gleicher Weise unterstützt wie Redaxo in den Artikeln und Slices. Neue Datensätze, die in einer Sprache erzeugt werden, sollen automatisch in die vorhandenen "Systemsprachen" kopiert werden.

Ich habe einige Addons angesehen, doch nirgends fand ich eine Implementierung der Zweisprachigkeit. Da mir das Problem nicht ganz trivial erscheint (manuelles Hochzählen der ID etc.) würde mich interessieren wie Ihr das gelöst habt.

Die rex_form Klasse scheint dafür jedenfalls nichts vorgesehen zu haben?!
Da ich aber erst seit kurzem mit Redaxo arbeite finde ich mich im Core-Code auch noch nicht so gut zurecht und täusch mich vielleicht...

Danke für jeden Tipp!
LG
Stefan
ovo
 
Beiträge: 40
Registriert: 13. Okt 2010, 11:56

Re: Addon-Tabelle mehrsprachig

Beitragvon Xong » 29. Okt 2010, 22:23

Hi ovo!

Die rex_form-Klasse arbeitet auch nur auf der Basis von SQL-Abfragen. Ob diese eine zusätzliche Bedingung in der WHERE-Klausel haben ist egal. Außerdem könnte man da auch gut mit (Sprach-)Views arbeiten (CREATE VIEW AS SELECT ... WHERE clang=1).

Prinzipiell gibt es also keine Probleme. Du musst die jeweilige Redaxo-SprachID nur mit in die Tabelle bringen und bei der Ausgabe entsprechend der gerade gewählten Sprache die richtige Abfrage erzeugen.
LG,
Xong

Bild Määääääääääääääääääääääääh!
Benutzeravatar
Xong
 
Beiträge: 1560
Registriert: 5. Jun 2008, 07:30
Wohnort: Hohndorf in Sachsen

Re: Addon-Tabelle mehrsprachig

Beitragvon ovo » 30. Okt 2010, 08:49

Xong hat geschrieben:Hi ovo!
Prinzipiell gibt es also keine Probleme. Du musst die jeweilige Redaxo-SprachID nur mit in die Tabelle bringen und bei der Ausgabe entsprechend der gerade gewählten Sprache die richtige Abfrage erzeugen.


Die Ausgabe ist natürlich nicht das Problem. Es geht darum, dass nach dem Speichern eines Datensatzes dieser für alle andernen installierten Sprachen geklont wird. Das wäre sicher eine nützliche Option der rex_form Klasse.

Ich habe aber den Code im Core gefunden, der für das Klonen der Artikel zuständig ist. Werde das mal anonalog dazu als Extension Point nach dem Speichern von rex_form einbauen. Vielleicht schaffe ich es auch ein Addon dazu zu schreiben. Als Redaxo und PHP Neuling muss ich mir halt erst mal Überblick verschaffen javascript:emoticon(':?')

function rex_addArticle($data)
{

...

$AART = rex_sql::factory();
foreach($REX['CLANG'] as $key => $val)
{

...

$AART->setTable($REX['TABLE_PREFIX'].'article');
if (!isset ($id) or !$id)
$id = $AART->setNewId('id');
else
$AART->setValue('id', $id);
$AART->setValue('name', $data['name']);
$AART->setValue('catname', $category_name);
$AART->setValue('attributes', '');
$AART->setValue('clang', $key);
$AART->setValue('re_id', $data['category_id']);
$AART->setValue('prior', $data['prior']);
$AART->setValue('path', $data['path']);
$AART->setValue('startpage', 0);
$AART->setValue('status', 0);
$AART->setValue('template_id', $data['template_id']);
$AART->addGlobalCreateFields();
$AART->addGlobalUpdateFields();

if($AART->insert())
{
// ----- PRIOR
rex_newArtPrio($data['category_id'], $key, 0, $data['prior']);
}
else
{
$success = false;
$message = $AART->getError();
}
LG
Stefan
ovo
 
Beiträge: 40
Registriert: 13. Okt 2010, 11:56


Zurück zu Mehrsprachigkeit [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast