Hallo.
Über eine Sprachwahl schalte ich per a href="...clang=1..." in der rex_list auf eine andere Sprache. Alle Einträge in der entsprechenden Sprache werden angezeigt. Anschließend rufe ich einen Eintrag zur Bearbeitung über rex_form auf. Das klappt auch.
$REX['cur_lang'] steht während der Bearbeitung noch auf 1
Nach dem Speichern hat das Addon dann die eingestellte Sprache vergessen.
Mit einem hidden-Feld habe ich es schon versucht:
$field =& $form->addHiddenField('clang',$REX['CUR_CLANG']);
Dieses bekommt aber dann den name="Kategorie_bearbeiten[clang]"
Auch dieses versagt:
$form->setApplyUrl('index.php?clang=1&page=machinery&subpage=categories');
Würde mich sehr freuen, wenn jemand mir die Lösung schreiben würde ...
Danke und Grüße,
Wolfgang
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
- Thomas.Blum
- Entwickler
- Beiträge: 5063
- Registriert: 24. Aug 2004, 22:11
- Wohnort: Dresden
- Kontaktdaten: Website
Hej,
ganz oben im Code
In der Liste beim "bearbeiten Link" den Parameter anhängen:
Bspl:
Im Formular dann so notieren:
Mich würde deine Variante des Sprachwechslers interessieren. Hast die rex_form Klasse erweitert, oder wie hast du es gelöst das ein Eintrag in mehreren Sprachen vorhanden ist?
vg Thomas
ganz oben im Code
Code: Alles auswählen
$clang = rex_request('clang', 'int');
Bspl:
Code: Alles auswählen
$list->setColumnParams('function', array('func' => 'edit', 'id' => '###pid###', 'clang' => $clang));
Code: Alles auswählen
$form->addParam('clang', $clang);
vg Thomas
-
- Beiträge: 126
- Registriert: 20. Okt 2005, 20:52
- Wohnort: 23966 Tressow
- Kontaktdaten: Website
Helden des Tages!
Ich muss das mal wieder hier los werden ...
Ich kenne viele Foren. Aber in keinem wird Ihnen so schnell, treffsicher, kompetent geholfen wie hier.
Diese Zeile habe ich nicht ganz verstanden, habe sie aber auch nicht gebraucht:
Diese Zeile hat die gewünschte Wirkung gebracht:
Ich habe folgende save-Funktion gebastelt:
Und weise mal in diesem Zusammenhang vorsichtig darauf hin, dass meine Codesuppe durchaus verbesserungswürdig ist ...
Viele Grüße,
Wolfgang
Ich muss das mal wieder hier los werden ...
Ich kenne viele Foren. Aber in keinem wird Ihnen so schnell, treffsicher, kompetent geholfen wie hier.
Diese Zeile habe ich nicht ganz verstanden, habe sie aber auch nicht gebraucht:
Code: Alles auswählen
$list->setColumnParams('function', array('func' => 'edit', 'id' => '###pid###', 'clang' => $clang));
Code: Alles auswählen
$form->addParam('clang', $REX['CUR_CLANG']);
Code: Alles auswählen
class rex_a615_form extends rex_a350_form {
function save() {
global $REX;
$sql = rex_sql::getInstance();
if(($result = parent::save()) === true) {
if(!$this->isEditMode()) {
# Datensatz hinzugefügt
$lastId = $sql->getLastId();
$sql->setTable($this->tableName);
$sql->setValue("pid", $lastId);
$sql->setWhere("id = $lastId");
$sql->debugsql =& $this->debug;
$sql->update();
foreach ($REX['CLANG'] as $id => $name) {
if ($id != 0) {
$sql = rex_sql::getInstance();
$sql->debugsql =& $this->debug;
$sql->setTable($this->tableName);
$sql->setValue("clang", $id);
$sql->setValue("pid", $lastId);
foreach($this->getFieldsets() as $fieldsetName) {
$fieldValues = $this->fieldsetPostValues($fieldsetName);
foreach($fieldValues as $fieldName => $fieldValue) {
if (is_array($fieldValue)) $fieldValue = implode('|+|', $fieldValue);
// Element heraussuchen
$element =& $this->getElement($fieldsetName, $fieldName);
// Den POST-Wert als Value in das Feld speichern
// Da generell alles von REDAXO escaped wird, hier slashes entfernen
$element->setValue(stripslashes($fieldValue));
// Den POST-Wert in die DB speichern (inkl. slahes)
$sql->setValue($fieldName, $fieldValue);
}
}
$sql->insert();
}
}
}
}
return $result;
}
}
Viele Grüße,
Wolfgang
- Thomas.Blum
- Entwickler
- Beiträge: 5063
- Registriert: 24. Aug 2004, 22:11
- Wohnort: Dresden
- Kontaktdaten: Website
Hej,
Also dort wo du den Link zum "editieren/bearbeiten" zuweist, clang als Parameter mit übergeben.
vg Thomas
Du musst den Parameter ja noch von der Liste zum Formular übergeben.wolfgang hat geschrieben:Diese Zeile habe ich nicht ganz verstanden, habe sie aber auch nicht gebraucht:
Code: Alles auswählen
$list->setColumnParams('function', array('func' => 'edit', 'id' => '###pid###', 'clang' => $clang));
Also dort wo du den Link zum "editieren/bearbeiten" zuweist, clang als Parameter mit übergeben.
vg Thomas
-
- Beiträge: 126
- Registriert: 20. Okt 2005, 20:52
- Wohnort: 23966 Tressow
- Kontaktdaten: Website
Hallo Thomas,
Ja, Danke!
Das hatte ich bereits durch eine mit etwas schlechtem Gewissen durchgeführte Änderung in der class.rex_a350_list.inc.php durchgeführt:
@Gregor Zeile 43.
Ich weiß ja schon, dass ich an bestehenden Dateien nicht rumändern soll von wegen Updatemöglichkeit und so ... - und an den Redaxo Quellen änder' ich auch lieber nichts. Aber wenn ich eine grundsätzliche Funktion einbauen kann, habe ich hier mal eine Ausnahme gemacht. Werde den Aufruf doch noch ein paarmal brauchen. Da kommt mir Gregors addon_helper als Zwischenschicht schon ganz gelegen.
Viele Grüße,
Wolfgang
Ja, Danke!
Das hatte ich bereits durch eine mit etwas schlechtem Gewissen durchgeführte Änderung in der class.rex_a350_list.inc.php durchgeführt:
@Gregor Zeile 43.
Code: Alles auswählen
$this->setColumnParams($columnName, array('func' => 'edit', 'oid' => '###id###', 'clang' => rex_request('clang', 'int')));
Viele Grüße,
Wolfgang