[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Addon-Tabelle mehrsprachig
Seite 1 von 1

Addon-Tabelle mehrsprachig

Verfasst: 29. Okt 2010, 23:11
von ovo
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!

Re: Addon-Tabelle mehrsprachig

Verfasst: 29. Okt 2010, 23:23
von Xong
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.

Re: Addon-Tabelle mehrsprachig

Verfasst: 30. Okt 2010, 09:49
von ovo
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();
}

Re: Addon-Tabelle mehrsprachig

Verfasst: 19. Dez 2014, 14:59
von sajjad321
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.

Re: Addon-Tabelle mehrsprachig

Verfasst: 20. Dez 2014, 09:40
von Sysix
Ich hab das bei mein asd_news Addon folgendermaßen gelöst:

https://github.com/Sysix-Coding/asd_new ... #L225-L252

Dafür musste ich ein bisschen die form klasse erweitern:
https://github.com/Sysix-Coding/asd_new ... hp#L57-L76

Gruß Sysix