[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Kann man die REX_VALUES nicht in einer Schleife hochzählen?? - REDAXO Forum
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/
DerFrank
Beiträge: 16
Registriert: 27. Jan 2005, 19:33
Wohnort: Hamburg

Kann man die REX_VALUES nicht in einer Schleife hochzählen??

10. Feb 2005, 13:08

mahlzeit zusammen.

versuche gerade eine ausgabe aus einem modul mit einer schleife hochzuzählen in form (vereinfacht) von:

Code: Alles auswählen

<?
for($i=1;$i<10;$i++){
	$file	=	"FILE[".$i."]";
	$val	=	"REX_VALUE[".$i."]";
	echo "<a href='".$REX[HTDOCS_PATH]."files/".$file."' target='_blank'>".$val."</a><br />";
}
?>
aber irgendwie schreibt er mir dann statt der value und dem file einfach REX_VALUE[1],REX_VALUE[2] usw. und FILE[1], FILE[2] usw. in die ausgabe...? hab ich irgendwas übersehen? darf man die rex values nicht als string benutzen oder sowas in der art?
wäre schön, wenn jemand ne idee hat.

danke,
frank[/code]
/*
Felix qui potuit rerum cognoscere causas* (Vergil)

*=Glücklich, wem es gelang, den Grund der Dinge zu erkennen.
*/

Goldfisch
Beiträge: 230
Registriert: 22. Sep 2004, 17:47
Wohnort: Aschaffenburg
Kontaktdaten: Website

10. Feb 2005, 13:46

hmm hab ich auch schon mal probiert und keine lösung gefunden.

anders und etwas mehr würde so gehen:

in der eingabe des moduls die slice id speichern:

Code: Alles auswählen

...
<input type=hidden name=VALUE[10] 
value="<? echo $GLOBALS[slice_id]; ?>">

in der ausgabe des moduls:
über die slice-id aus der tabelle die felder in der schleife auslesen

gibt hier REX_VALUE[1] - [3] aus

Code: Alles auswählen

<?
$id = "REX_VALUE[10]";
$SC = new sql;
$SC->setQuery("SELECT * FROM rex_article_slice WHERE id = '$id'");

for ($i=1; $i<4; $i++){
 $feld = "value" . $i;
 echo $SC->getValue("$feld");
}

?>
vielleicht gehts ja einfacher
peter

DerFrank
Beiträge: 16
Registriert: 27. Jan 2005, 19:33
Wohnort: Hamburg

10. Feb 2005, 16:27

hallo peter,
danke für die antwort, die idee ist auf jeden fall nicht so schlecht, problem ist halt nur die beschränkung auf 10 value felder, da ich da mit dem geschriebenem modul schon an der grenze bin. werd aber erstmal deinen vorschlag teste...

@all
hat diesbezüglich (value limit) mal jemand mit serialize und unserialize gespielt? wäre doch vielleicht auch eine möglichkeit, diese beschränkung zu umgehen, oder?

grüsse,
frank
/*
Felix qui potuit rerum cognoscere causas* (Vergil)

*=Glücklich, wem es gelang, den Grund der Dinge zu erkennen.
*/

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

10. Feb 2005, 17:01

um die value felder zu umgehen kann man das auch über die actions lösen.

action erstellen mit folgenden inhalt

Code: Alles auswählen

$newname = "";
for ($c=0;$c<99;$c++) {
	$newname .= $rexname[$c]."~";
}

if ($REX_ACTION[VALUE][1] != "") {
	$rexname = split("~",$REX_ACTION[VALUE][1]);
}
else {
	$REX_ACTION[VALUE][1] = $newname;
}
so würde das inputmodul aussehen:

Code: Alles auswählen

$rexname = split("~","REX_VALUE[1]");

<input type="text" size="40" name="rexname[7]" value="<? echo $rexname[7]; ?>">
gruss thomas

DerFrank
Beiträge: 16
Registriert: 27. Jan 2005, 19:33
Wohnort: Hamburg

10. Feb 2005, 17:56

tbaddade hat geschrieben:um die value felder zu umgehen kann man das auch über die actions lösen....
ahh, soweit kein schlechter einfall, der code in der ausgabe müsste dann folgerichtig

Code: Alles auswählen

<? $rexname = split("~","REX_VALUE[1]");?>
<? echo $rexname[7]; ?>
heissen, oder?
wenns so ist blicke ich auch langsam den sinn der actions... :D

gruss,
frank [/quote]
/*
Felix qui potuit rerum cognoscere causas* (Vergil)

*=Glücklich, wem es gelang, den Grund der Dinge zu erkennen.
*/

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

10. Feb 2005, 18:08

richtig

aus dem wiki
Die Idee ist verschiedenen Modulen Aktionen zuweisen zu können die die Modulverarbeitung beeinflusst oder bestimmte Funktionen hervorruft, die nicht bei jedem Modulaufruf passieren soll.
mehr dazu hier
http://wiki.redaxo.de/pmwiki.php/Main/Aktionen

DerFrank
Beiträge: 16
Registriert: 27. Jan 2005, 19:33
Wohnort: Hamburg

Values gehen, aber...

10. Feb 2005, 19:47

hallo nochmal miteinander,

values gehen, aber...wie schaut das mit den files aus? also viel mehr mit dem REX_MEDIA_BUTTON???
hab gerade ein wenig rumexpiremtiert, komme aber zu keinem funktionierendem ergebnis (wie eingangs beschreiben kann ich den auch nicht in einer schleife hochzählen :x ).
ziel des ganzen soll ein modul sein, in dem man einen file-titel, ein file und eine checkbox (öffentlich sichtbar ja/nein) hat, am besten sollte man beim anlegen noch auswählen können (per select box), wieviele dateien angelegt werden sollen (aber das ist erst mal zukunftsmusik...).
also die werte für den filenamen und die value für die checkbox lassen sich ja auf oben aufgezeichnetem weg realisieren, aber der REX_MEDIA_BUTTON ...?

aber danke erstmal soweit, und wäre klasse, wenn jemand noch ne idee hätte.

grüsse,
frank
/*
Felix qui potuit rerum cognoscere causas* (Vergil)

*=Glücklich, wem es gelang, den Grund der Dinge zu erkennen.
*/

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

22. Sep 2005, 17:19

Hi Thomas,

ich hab versucht, Dein Beispiel mit der Aktion nachzuvollziehen, aber ich kapier das noch nicht. Meinst Du, Du könntest mir noch ne kurze Hilfestellung geben?

Ich hab noch ein Feld frei (VALUE[7]), das ich noch die Werte von drei Feldern aufnehmen muss.
- Was müsste ich bei input und bei der action konkret schreiben?
- Ich hab die Aktion als POST definiert und als Status ADD und EDIT angegeben und hab sie natürlich dem Modul zugewiesen. Richtig so?

Für Deine Hilfe sag ich im voraus schon mal herzlichen Dank!

Peter.

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

22. Sep 2005, 17:56

Hej Peter

die Action musst du zweimal erstellen. Einmal Pre und einmal für Post

das ist die Action für dich:

Code: Alles auswählen

$newname = "";
for ($c=0;$c<99;$c++) {
   $newname .= $rexname[$c]."~";
}

if ($REX_ACTION[VALUE][7] != "") {
   $rexname = split("~",$REX_ACTION[VALUE][1]);
}
else {
   $REX_ACTION[VALUE][7] = $newname;
} 
Das muss dann in das Modul rein

Code: Alles auswählen

$rexname = split("~","REX_VALUE[7]");

<input type="text" size="40" name="rexname[1]" value="<? echo $rexname[1]; ?>">
Thomas

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

22. Sep 2005, 17:59

Hi,

warum verwendest du eine Schleife bis 98

Code: Alles auswählen

for ($c=0;$c<99;$c++) {
   $newname .= $rexname[$c]."~";
} 
und nicht mit der anzahl der elemente im Array?

Code: Alles auswählen

for ($c=0;$c<count( $rexname);$c++) {
   $newname .= $rexname[$c]."~";
} 
Gruß,
Markus

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

22. Sep 2005, 18:06

Hej,
kills hat geschrieben:Hi,
warum verwendest du eine Schleife bis 98
weil es so mE leichter zu verstehen ist.

Thomas

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

22. Sep 2005, 18:42

Besten Dank, Ihr beiden!
Die Sache mit PRE und POST war wohl der Grund, warum es nicht funktionierte ...

Peter.

Zurück zu „Allgemeines [R2]“