Multilanguage nodeapi Problem
am 01.09.2012 - 19:35 Uhr in
Hallo zusammen,
ich arbeite an einer Drupalseite in der die Defaultsprache deutsch ist und Nodes generell in deutsch erstellt werden. Danach ist es möglich für diese Node eine Übersetzung anzufertigen. Soweit funktioniert das auch. Zusätzlich sollen weitere Informationen nur für deutsche Nodes mit einem object abgelgt werden alle anderen Übersetzungen nutzen deren lade funktion. Nun aber das eigentliche in gekürzter Darstellung.
function modulname_nodeapi(.....) {
if($node->type == 'immer der selbe')
switch($op) {
case 'load':
if ($node->language == 'de') {
$object = new classname($node->nid);
}
else {
$object = new classname($node->tnid);
}
$object->do_load();
$node->object = $object;
break;
case 'insert':
case 'update':
if ($node->language == 'de') {
$object = new classname($node->nid);
/////// Object bekommt Werte von einer Form die nur bei deutschen Nodes erstellt wird //////
............
$object->do_save();
}
break;
}
}
}
In einer anderen Datei die Klasse
class classname() {
///Objectvariablen
public funktion __construct($nid) {
$this->nid = $nid;
}
public function do_save() {
}
public function do_load() {
}
}
Das Problem hierbei ist, dass bei einem Update und Insert einer nicht deutschen Sprache $node->language auf 'de' steht. Ein var_dump in node_invoke_nodeapi hat bisher nur ergeben das $node->language eine andere Sprache ist und mittendrin auf 'de' wechselt.
In die node Tabelle wird es richtig abgelegt, abschalten von Modulen oder ändern des gewichtes vom eigenem Modul bringt gar nichts, Das einzige was bis jetzt mir noch einfählt, wäre eine SQL-SELECT auf die node Tabele zu machen um damit die Sprache im falle eines insert oder updates herauszufinden. Kann aber ja nicht die feine Lösung sein. Auf ausversehen if($node->language = 'de') hab ich alles überprüft.
cu
uun es dankt euch tuxad
(aktuelle Version von Drupal 6 mit i18n)
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 12 Stunden 46 Minuten
vor 1 Tag 8 Stunden
vor 1 Tag 10 Stunden
vor 1 Tag 13 Stunden
vor 2 Tagen 15 Stunden
vor 2 Tagen 15 Stunden
vor 3 Tagen 17 Stunden
vor 3 Tagen 21 Stunden
vor 4 Tagen 11 Stunden
vor 4 Tagen 15 Stunden