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
Bin für jede Hilfe dankbar
P.S. Redaxo ist wirklich sehr einfach einzurichten und aufzubauen, werde auf jeden Fall mal Projekte damit realisieren!!!
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,
anbei das überarbeitete und getestete Modul aus dem Downloadbereich:
Eingabe:
Ausgabe:
Action als Pre - Add/Edit
vg Thomas
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;
}
?>
Hi,
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.
Code: Alles auswählen
echo $select->out();
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.
Super klappt einwandfrei!!!
Nun werde ich mir das alles genauer anschauen, damit ich es auch verstehe!
Danke für die schnelle Hilfe
Danke für die schnelle Hilfe
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
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
- hundertmorgen
- Beiträge: 189
- Registriert: 29. Jul 2005, 15:36
- Wohnort: Seattle - USA
- Kontaktdaten: Website
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
Mit der Anweisung "var_dump($value4);"
wird ausgegeben:
Kann jemand helfen?
Danke, Sandra
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:
Ich komme hier einfach nicht weiter...array(1) { [0]=> string(5) "Array" }
Kann jemand helfen?
Danke, Sandra
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.
Bitte bitte... ich brauch ne Lösung für das Problem, sonst komm ich bei ner aktuellen Website nicht weiter.
Fehler liegt in der Modulbeschreibung
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.
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
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:
Ausgabe:
Aktion (Presave ADD/EDIT):
Viel Spaß damit!
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());
?>
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>';
?>
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;
}
?>
Re: Minibeispiel Multiple-Selectbox
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:
So funktioniert es leider nicht:
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
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);
Code: Alles auswählen
$value4 =<<<EOD
REX_VALUE[4]
EOD;
$default = '';
$value4 = ($value4 == '') ? (array) $default : preg_split('~~', $value4);
Steh ich auf dem Schlauch?
Version
REDAXO: 4.7.0
PHP: 7.0.29
Viele Grüße
Cabby
<love>redaxo</love>
Twitter @tobias_gerlach
Twitter @tobias_gerlach