Multiselectbox in Modul

Wie verwendet man Module oder Aktion und passt diese an.

Multiselectbox in Modul

Beitragvon slcmc » 6. Nov 2007, 13:36

hi,
ich hatte in Redaxo 3.2 eine Multiselectbox; die hab ich jetzt auch wieder in der 4.0 Version eingebaut, nur funtioniert sie dort leider nicht.
Ich hatte die Selectbox nach dieser Vorlage gebaut: http://forum.redaxo.de/ftopic5392.html

Hat denn jemand eine Multiselectbox, die mit Redaxo 4.0 geht?
Danke
slcmc
 
Beiträge: 2
Registriert: 6. Nov 2007, 13:31

Beitragvon slcmc » 13. Nov 2007, 14:49

hat das denn noch niemand ausser mir verwendet?
slcmc
 
Beiträge: 2
Registriert: 6. Nov 2007, 13:31

Beitragvon Bene » 27. Mär 2008, 18:16

Hallo,

ich habe das gleiche Problem.
Ich habe es wie unter http://forum.redaxo.de/sutra34533.html#34533 beschrieben implementiert. Es funktioniert unter redaxo 3.2, nicht jedoch unter 4.0 und 4.1.
Ich habe versucht eine Lösung zu finden. Allerdings wird mir als Wert immer "Array" ausgegeben. Dies ist allerdings kein Hinweis darauf, dass es ein Array ist, sondern vielmehr ein einfacher String (das hab ich allerdings auch erst nach längerem rausgefunden).

Der einzige Workaround der mir eingefallen ist, ist die Daten über das $_POST Array auszulesen, wenn das Slice gespeichert wird. Über

Code: Alles auswählen
print_r($_POST);


findet man wie man die Daten adressieren muss. Sicher nicht im Sinne des Erfinders.

Viele Grüße
Bene
Bene
 
Beiträge: 125
Registriert: 19. Jan 2007, 23:42

Beitragvon Markus.Staab » 27. Mär 2008, 20:52

Hi,

habt ihr die rexnames action eingebaut und dem Modul zugewiesen?
Ich glaub es gibt ne eigene rexnames action für 4.x

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon Bene » 28. Mär 2008, 13:42

Hallo,

habt ihr die rexnames action eingebaut und dem Modul zugewiesen?

Das versteh ich nicht. Die Fragestellung ist doch völlig unabhängig von der Verwendung der Aktion, oder?

Ich hab es sowohl mit dieser Aktion probiert als auch ohne. In beiden Fällen hab ich es nicht hinbekommen.

Nachfolgend ein Beispiel, das das Problem verdeutlichen soll.
Moduleingabe:


Code: Alles auswählen
<?php
$value4 =<<<EOD
REX_VALUE[4]
EOD;

$default = '';
$value4 = ($value4 == '') ? (array) $default : split('~~', $value4);

$select = new select();
$select->set_name('VALUE[4][]');
$select->multiple(true);

// Beispieldaten für den Selekt
foreach(range(2,10) as $val)
  $select->add_option($val, $val);

foreach($value4 as $val)
  $select->set_selected($val);

echo $select->out();
?>


Aktion, die dem Modul mit Pre (Add/Edit) zugewiesen wurde:

Code: Alles auswählen
<?php
$value = $REX_ACTION['VALUE'][4];
var_dump($value);
?>



Wenn ich das Modul speicher, wird im Backend dabei folgendes ausgegeben:

string(5) "Array"

Das dürfte doch nicht sein. Tatsächlich müsste $value doch eine Variable vom Typ Array sein, in dem die Werte, die in der Auswahlliste gewählt wurden drin stehen.

Oder verstehe ich was falsch?
Danke und Grüße
Bene
Bene
 
Beiträge: 125
Registriert: 19. Jan 2007, 23:42

Beitragvon Markus.Staab » 28. Mär 2008, 16:39

Hi,


hast du dir das Minibeispiel für eine multiple select boxangeschaut?

Dort siehst du auch, dass es ohne rexnames nicht geht..
Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon Bene » 28. Mär 2008, 17:08

Hallo,

erstmal danke für deine Hilfe!

hast du dir das Minibeispiel für eine multiple select box angeschaut?
Dort siehst du auch, dass es ohne rexnames nicht geht..

Ja, das Bsp. habe ich gesehen. Allerdings kann ich deine Aussage nicht nachvollziehen. Warum sollte dieses Beispiel ohne rexnames nicht funktionieren? Ok $value4 in der Modulausgabe müsste davor eingelesen werden, über:

Code: Alles auswählen
$value4 =<<<EOD
REX_VALUE[4]
EOD;


Ich stelle mal eine Gegenbehauptung auf: Rexnames kann mit der multiple select Lösung nicht funktionieren, da rexnames die Werte durch ~~ getrennt abspeichert. Da auch das MultipleSelect (wie in der Aktion unter http://forum.redaxo.de/sutra34533.html#34533 beschrieben) ~~ verwendet um mehrere ausgewählte Werte in der select-Liste abzuspeichern, führt das zwangsläufig dazu das den Rexnames irgendwann falsche Werte zugewiesen werden.

Was mich noch irritiert: Unter redaxo 3.2 liefert mir mein obiges Bsp. folgende Ausgabe wenn ich in der Auswahlliste mehrere Werte selektiert habe:

Code: Alles auswählen
array(4) { [0]=>  string(1) "3" [1]=>  string(1) "4" [2]=>  string(1) "5" [3]=>  string(1) "6" }

Dort scheint also alles zu funktionieren. Ohne rexnames.

Ich hoffe ihr könnte meine Gedankengänge noch nachvollziehen....

Grüße
Bene
Bene
 
Beiträge: 125
Registriert: 19. Jan 2007, 23:42

multi select box

Beitragvon ellm28 » 26. Aug 2008, 13:02

hallo,
ich habe das problem das bei mir als ergebniss nur ein array erscheint..
habe alles nach anleitung abgearbeitet. action zugefügt und eingebunden aber nichts passiert. verwende redaxo 4.0. im beispiel wird nur von 3.1 gesprochen..

rexname für 4.0 auch ausprobiert ganz ohne ergebniss?

hat jemand ein funktionierendes beispiel zum besseren verständnis für mich des genauen ablaufes..

vielen dank!!
ellm28
 
Beiträge: 8
Registriert: 23. Sep 2007, 23:40

Beitragvon Bene » 27. Aug 2008, 18:19

Hallo ellm28,

kurze Nachfrage: Ein Array mit den ausgewählten Werten in der Multiple-Select-Box ist doch das gewünschte Ergebnis. Welche Werte stehen in deinem Array?

Grüße
Bene
Bene
 
Beiträge: 125
Registriert: 19. Jan 2007, 23:42

Beitragvon ellm28 » 27. Aug 2008, 20:19

ja nix...
hab mall alles was drinn steht mit php ausgelesen mit dem ergebniss:
0 => ARRAY

vieleicht sollt ich noch erwähnen das ich rexshop auf redaxo 4.x verwende..
ellm28
 
Beiträge: 8
Registriert: 23. Sep 2007, 23:40

Beitragvon Bene » 27. Aug 2008, 20:39

Hallo,

bitte geb mal den Wert mit var_dump() aus und schreib was dann angezeigt wird. Ich hatte nämlich bei mir schon den Fall dass mit echo "Array" ausgeben wurde es sich dabei aber um einen String handelt (siehe oben), was das Ganze noch verwirrender macht.

Das das Problem mit rexshop zusammenhängt kann ich mir nur schwer vorstellen.

Grüße
Bene
Bene
 
Beiträge: 125
Registriert: 19. Jan 2007, 23:42


Zurück zu Module/Aktionen [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast