Minibeispiel Multiple-Selectbox

Wie verwendet man Module oder Aktion und passt diese an.

Minibeispiel Multiple-Selectbox

Beitragvon mala » 24. Apr 2007, 16:18

Hallo zusammen!

Ich bin bei Redaxo Neueinsteiger und probiere im Moment einige Beispiele der Module aus. Unter anderem bin ich gerade beim Beispiel Multiple Selectbox angekommen. Ich bekomme es nicht zum Laufen, hab im Forum schon alle möglichen Lösungsvorschläge gelesen und bin nun der Meinung das ich etwas falsch mache, weiss aber nicht mehr was...

Habe das Beispiel wie folgt angelegt:
[b]Modul erstellt und in Eingabe folgendes eingefügt: (wie Beispiel)[/b]
<?php
$value4 =<<<EOD
REX_VALUE[4]
EOD;

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

$select = new select();
$select->set_name('REX_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();
?>



[b]und in Ausgabe: (wie Beispiel)[/b]
<?php

$value4 = split('~~', $value4);

echo '<ul>';
foreach($value4 as $val)
{
echo '<li>'. $val .'</li>';
}
echo '</ul>';

?>

[b]und als Action hinzugefügt : wie beschrieben als PRE und Status ADD/EDIT
[/b]<?php

// -------------- CONFIG

$value_id = range(1,10);
$value_sep = '~~';

// -------------- END OF CONFIG

$values = (array) $value_id;
foreach($values as $value_id)
{
$value = $REX_ACTION['VALUE'][$value_id];

$str_value = '';

if(is_array($value))
{
$str_value = implode($value_sep, $value);
}
else
{
$str_value = $value;
}

$REX_ACTION['VALUE'][$value_id] = $str_value;
}

?>


Habe [b]Redaxo 3.2 Demo[/b] installiert! und das Modul in einer Seite eingefügt, es kommt aber nur ein Listenpunkt...

Muss ich noch etwas hinzufügen? Oder was ändern? Bin in PHP noch nicht so gut, hab ein paar Sachen schon geschrieben aber ist nicht die WELT 8)

Bin für jede Hilfe dankbar

P.S. Redaxo ist wirklich sehr einfach einzurichten und aufzubauen, werde auf jeden Fall mal Projekte damit realisieren!!!
mala
 
Beiträge: 5
Registriert: 20. Apr 2007, 16:03

Beitragvon _kweso » 30. Apr 2007, 20:15

ich habs auch probiert, und nicht hinbekommen.
Benutzeravatar
_kweso
 
Beiträge: 164
Registriert: 11. Dez 2006, 19:05
Wohnort: wien/regensburg

Beitragvon Thomas.Blum » 2. Mai 2007, 08:11

Hej,

anbei das überarbeitete und getestete Modul aus dem Downloadbereich:

Eingabe:

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();
?>



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

$value4 = split('~~', $value4);

echo '<ul>';
foreach($value4 as $val)
{
  echo '<li>'. $val .'</li>';
}
echo '</ul>';

?>



Action als Pre - Add/Edit
Code: Alles auswählen
<?php

// -------------- CONFIG

$value_id = range(1,10);
$value_sep = '~~';

// -------------- END OF CONFIG

$values = (array) $value_id;
foreach($values as $value_id)
{
  $value = $REX_ACTION['VALUE'][$value_id];

  $str_value = '';
 
  if(is_array($value))
  {
    $str_value = implode($value_sep, $value);
  }
  else
  {
    $str_value = $value;
  }

  $REX_ACTION['VALUE'][$value_id] = $str_value;
}

?>


vg Thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon darwin » 3. Mai 2007, 19:38

Hi,
Code: Alles auswählen
echo $select->out();
:?: is mir nicht ganz klar mit dem ->out(); (kommt Array raus) ... aber egal ...

Nebenfrage:
ist es auch möglich aus einer Kategorie des Medienpools die BildTitel aller
sich in dieser Kat befindlichen Bilder in eine MultipleSelectBox zu packen
und bei Mehrfachauswahl auszugeben??? Wenn ja, wie... Ansatz wäre klasse zum basteln ;) ...

Danke schonmal. grz Chris.
Benutzeravatar
darwin
 
Beiträge: 1261
Registriert: 2. Jan 2007, 16:10
Wohnort: LA

Beitragvon darwin » 3. Mai 2007, 19:52

:D
Minibeispiel Medialist Button

dürfte zum Üben reichen ;)

c.
Benutzeravatar
darwin
 
Beiträge: 1261
Registriert: 2. Jan 2007, 16:10
Wohnort: LA

Super klappt einwandfrei!!!

Beitragvon mala » 7. Mai 2007, 07:50

Nun werde ich mir das alles genauer anschauen, damit ich es auch verstehe! :shock: 8)

Danke für die schnelle Hilfe
mala
 
Beiträge: 5
Registriert: 20. Apr 2007, 16:03

Beitragvon Hansa » 9. Mär 2008, 12:09

Hallo,

ich habe den Code kopiert und in mein Modul so eingefügt. Jetzt bekomme ich nicht einmal den Block zum aussuchen angezeigt.

Ich benutze Redaxo 3.2.

Kann mir jemand helfen ? Die Aktion habe ich auch dem Modul hinzugefügt.

Ich bin leider etwas ratlos. Ich möchte ein Modul haben, in dem ich mir beliebige Newskategorien aussuchen kann, die angezeigt werden sollen.

Gruß,
Hannes
Hansa
 
Beiträge: 1
Registriert: 9. Mär 2008, 11:59

Beitragvon hundertmorgen » 12. Nov 2008, 22:09

Hat denn niemand eine Idee?

Ich habe alles wie in der Anleitung zur Verwendung der Multiple Selectboxen angelegt. (Module = http://www.redaxo.de/165-Moduldetails.h ... ule_id=146 inkl. Aktionen)

Auch habe ich die Korrekturversion aus dem Forum ausprobiert = http://forum.redaxo.de/sutra34533.html#34533

Meine Ausgabe ist aber einfach nur
Array
?!

Mit der Anweisung "var_dump($value4);"
wird ausgegeben:
array(1) { [0]=> string(5) "Array" }


Ich komme hier einfach nicht weiter...
Kann jemand helfen?

Danke, Sandra
Benutzeravatar
hundertmorgen
 
Beiträge: 192
Registriert: 29. Jul 2005, 14:36
Wohnort: Essen / NRW

Beitragvon theforce » 15. Nov 2008, 18:08

bei mir ist das gleiche Problem... wenn ich mit print_r innerhalb der Aktion das "REX_ACTIONS" Objekt ausgeben lasse, dann zeigts mir im entsprechenden Eintrag einfach nur "Array" an, aber das ist in Wirklichkeit ein String und kein Array!

Bitte bitte... ich brauch ne Lösung für das Problem, sonst komm ich bei ner aktuellen Website nicht weiter.
theforce
 
Beiträge: 33
Registriert: 8. Sep 2008, 10:44
Wohnort: Augsburg

Beitragvon theforce » 15. Nov 2008, 18:41

hi,

hab grad nach dem studium anderer beiträge im forum das problem gelöst:

Ihr müsst in der Action, folgende Zeile austauschen:

$value = $REX_ACTION['VALUE'][$value_id];

mit

$value = $_POST['VALUE'][$value_id];



Cheers!
theforce
 
Beiträge: 33
Registriert: 8. Sep 2008, 10:44
Wohnort: Augsburg

Beitragvon netmanix » 15. Apr 2009, 20:01

Zwar ein altes Thema... aber mich würde es interessieren wie ich in formGen oder do form multiple select boxen erstellen kann ..
Natürlich kann man auch eine lange Checkbox-Liste erstellen aber irgendwie ist das nicht das Wahre.
Benutzeravatar
netmanix
 
Beiträge: 292
Registriert: 11. Sep 2008, 19:35
Wohnort: Wesel

Beitragvon pixelrow » 1. Jul 2009, 08:26

hallo zusammen,

gleich mal die erste Frage...hab jetzt alles versucht wie es hier beschrieben wird...aber kein Ansatz wie hier gepostet, hat funktioniert...es kommt immer die Ausgabe "array"...Redaxo Version ist die 4.1....

Bitte um Hilfe...

Timo
pixelrow
 
Beiträge: 2
Registriert: 1. Jul 2009, 08:15

Fehler liegt in der Modulbeschreibung

Beitragvon elsethos » 15. Dez 2010, 10:57

Multiple Selectbox (Multiselectbox)

Getestet mit Redaxo 4.1.
Die Action.

Benötigt werden 3 Actioneinträge: Preview, Presave und Postsave, jeweils mit ADD und EDIT


Den Eintrag bei Preview rausnehmen, dann funktioniert das Ganze.
elsethos
 
Beiträge: 9
Registriert: 17. Okt 2008, 06:55

Re: Minibeispiel Multiple-Selectbox

Beitragvon mokraube » 24. Feb 2012, 10:50

Nachdem ich das Modul getestet habe, und es bei mir nicht funktioniert hat, hier nun ein fertiges Beispielmodul für Redaxo 4.3.x:

Eingabe:
Code: Alles auswählen
<?php
$value1=<<<EOD
REX_VALUE[1]
EOD;

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

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

$select->add_option("weiß", "#ffffff");
$select->add_option("schwarz", "#000000");
$select->add_option("grau", "#a6a8a8");

foreach($value1 as $var) {
   if(in_array($var, $value1)) {
      $select->set_selected($var);
   }
}

echo($select->out());

?>


Ausgabe:
Code: Alles auswählen
<?php

$value1=<<<EOD
REX_VALUE[1]
EOD;

$value1 = split('~~', $value1);

echo '<ul>';
foreach($value1 as $var) {
  echo '<li>'. $var .'</li>';
}
echo '</ul>';

?>


Aktion (Presave ADD/EDIT):
Code: Alles auswählen
<?php

// -------------- CONFIG

$value_id = range(1,10);
$value_sep = '~~';

// -------------- END OF CONFIG

$values = (array) $value_id;
foreach ($values as $value_id)
{
  if (!isset ($_POST['VALUE'][$value_id]) or $_POST['VALUE'][$value_id] == '') { continue; }
  $value = $_POST['VALUE'][$value_id];

  $str_value = '';

  if (is_array($value))
  {
    $str_value = implode($value_sep, $value);
  }
  else
  {
    $str_value = $value;
  }
  $REX_ACTION['VALUE'][$value_id] = $str_value;
}

?>


Viel Spaß damit!
mokraube
 
Beiträge: 2
Registriert: 11. Jul 2011, 10:35
Wohnort: Offenbach


Zurück zu Module/Aktionen [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste