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

Minibeispiel Multiple-Selectbox

Verfasst: 24. Apr 2007, 17:18
von mala
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!!!

Verfasst: 30. Apr 2007, 21:15
von _kweso
ich habs auch probiert, und nicht hinbekommen.

Verfasst: 2. Mai 2007, 09:11
von Thomas.Blum
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

Verfasst: 3. Mai 2007, 20:38
von darwin
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.

Verfasst: 3. Mai 2007, 20:52
von darwin
:D
Minibeispiel Medialist Button

dürfte zum Üben reichen ;)

c.

Super klappt einwandfrei!!!

Verfasst: 7. Mai 2007, 08:50
von mala
Nun werde ich mir das alles genauer anschauen, damit ich es auch verstehe! :shock: 8)

Danke für die schnelle Hilfe

Verfasst: 9. Mär 2008, 13:09
von Hansa
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

Verfasst: 12. Nov 2008, 23:09
von hundertmorgen
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

Verfasst: 15. Nov 2008, 19:08
von theforce
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.

Verfasst: 15. Nov 2008, 19:41
von theforce
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!

Verfasst: 15. Apr 2009, 21:01
von netmanix
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.

Verfasst: 1. Jul 2009, 09:26
von pixelrow
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

Fehler liegt in der Modulbeschreibung

Verfasst: 15. Dez 2010, 11:57
von elsethos
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.

Re: Minibeispiel Multiple-Selectbox

Verfasst: 24. Feb 2012, 11:50
von mokraube
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!

Re: Minibeispiel Multiple-Selectbox

Verfasst: 10. Apr 2018, 00:33
von Cabby
Hallo,

kann mir jemand verraten, wie das Ganze OHNE split funktioniert?
Seit PHP7 gibt´s das nämlich nicht mehr :?

Einfach mal mit "preg_split()" ersetzen klappt leider nicht.

So war es bisher:

Code: Alles auswählen

$value4 =<<<EOD
REX_VALUE[4]
EOD;
$default = ''; 
$value4 = ($value4 == '') ? (array) $default : split('~~', $value4); 
So funktioniert es leider nicht:

Code: Alles auswählen

$value4 =<<<EOD
REX_VALUE[4]
EOD;
$default = ''; 
$value4 = ($value4 == '') ? (array) $default : preg_split('~~', $value4); 
Auch mit explode() und str_split() hab ich nichts erreicht.
Steh ich auf dem Schlauch?

Version
REDAXO: 4.7.0
PHP: 7.0.29

Viele Grüße
Cabby