hallo leute,
ich versuche gerade ein modul zu schreiben bei dem vorher nicht bekannt ist wie viele eingabefelder im inputbereich gebraucht werden.
also habe ich das ganze dynamisch umgesetzt ( ungefähr so: CMS_VAR[$counter]) und das scheint auch soweit zu funktionieren.
das problem ist nun das ich die werte im output ja wieder auslesen muß.... ein Konstrukt wie "CMS_VALUE[$counter]" liefert aber den string "CMS_VALUE[$counter]" (sprich: wenn ich nicht direkt eine zahl eingebe wird der ausdruck nicht interpretiert) und nicht den wert den ich haben will.
kann mir jemand einen tipp geben wie ich das umgehen kann?
vielen dank schonmal.
christian
Variable Anzahl von Eingabefeldern
hier noch ein nachtrag:
$query = "SELECT * FROM ".$cfg["tab"]["upl"]." WHERE filetype = 'pdf' order by created";
$db->query($query);
while ($db->next_record()) {
//$knurpsel replaces old $filename
$knurpsel[$db->f("idupl")] = $db->f("filename");
} // end while
function d_checked($which) {
echo "which : $which"; // ausgabe string: "which : CMS_VALUE[..]" soll sein: "which : on" od. "which :"
if ($which != "") {
return "checked";
}
} // end function
echo "<table width=\"300\" cellspacing=\"1\" cellpadding=\"4\" border=\"0\" bgcolor=\"#000000\">
<tr bgcolor=\"#cccccc\" align=\"center\">
<td>Aktiv</td>
<td>Datei</td>
</tr>";
if (is_array($knurpsel)) {
$counter=1;
foreach ($knurpsel as $key => $value) {
echo "<tr bgcolor=\"#ffffff\" align=\"center\">
<td><input name=\"CMS_VAR[$counter]\" value=\"on\" type=\"checkbox\" ".d_checked("CMS_VALUE[$counter]")."></td>";
$counter++;
echo " <td><input name=\"CMS_VAR[$counter]\" type=\"hidden\" value=\"$key\">$value</td></tr>";
$counter++;
} // end foreach
} // end if
echo "<tr bgcolor=\"#ffffff\"><td> </td><td><input name=\"CMS_VAR[0]\" type=\"hidden\" value=\"$counter\"></td></tr>";
echo " </table>";
was mache ich falsch?
$query = "SELECT * FROM ".$cfg["tab"]["upl"]." WHERE filetype = 'pdf' order by created";
$db->query($query);
while ($db->next_record()) {
//$knurpsel replaces old $filename
$knurpsel[$db->f("idupl")] = $db->f("filename");
} // end while
function d_checked($which) {
echo "which : $which"; // ausgabe string: "which : CMS_VALUE[..]" soll sein: "which : on" od. "which :"
if ($which != "") {
return "checked";
}
} // end function
echo "<table width=\"300\" cellspacing=\"1\" cellpadding=\"4\" border=\"0\" bgcolor=\"#000000\">
<tr bgcolor=\"#cccccc\" align=\"center\">
<td>Aktiv</td>
<td>Datei</td>
</tr>";
if (is_array($knurpsel)) {
$counter=1;
foreach ($knurpsel as $key => $value) {
echo "<tr bgcolor=\"#ffffff\" align=\"center\">
<td><input name=\"CMS_VAR[$counter]\" value=\"on\" type=\"checkbox\" ".d_checked("CMS_VALUE[$counter]")."></td>";
$counter++;
echo " <td><input name=\"CMS_VAR[$counter]\" type=\"hidden\" value=\"$key\">$value</td></tr>";
$counter++;
} // end foreach
} // end if
echo "<tr bgcolor=\"#ffffff\"><td> </td><td><input name=\"CMS_VAR[0]\" type=\"hidden\" value=\"$counter\"></td></tr>";
echo " </table>";
was mache ich falsch?
Tja ganz einfach - du versuchst Kühe zum fliegen zu bringen...
kurzantwort : impossible
begründung: die werte CMS_VAR[x] werden geparst bevor das ganze überhaupt ausgeführt wird. Geparst bedeutet, suchen&ersetzen - ergo kannst du CMS_VAR unter keinen umständen dynamisch abarbeiten.
Das einzige was du machen kannst wäre : du erstellst am Anfang des Output ein Mega-Array mit einer großen Anzahl von CMS_VARs
$cms_var[0] = "CMS_VAR[0]";
$cms_var[1] = "CMS_VAR[1]";
$cms_var[2] = "CMS_VAR[2]";
kurzantwort : impossible
begründung: die werte CMS_VAR[x] werden geparst bevor das ganze überhaupt ausgeführt wird. Geparst bedeutet, suchen&ersetzen - ergo kannst du CMS_VAR unter keinen umständen dynamisch abarbeiten.
Das einzige was du machen kannst wäre : du erstellst am Anfang des Output ein Mega-Array mit einer großen Anzahl von CMS_VARs
$cms_var[0] = "CMS_VAR[0]";
$cms_var[1] = "CMS_VAR[1]";
$cms_var[2] = "CMS_VAR[2]";
Module zum anschauen:
bei Sven: http://contenido-module.de
bei Pulk : http://spielwiese.pulk.net
Der-Dirigent: http://der-dirigent.de
bei Sven: http://contenido-module.de
bei Pulk : http://spielwiese.pulk.net
Der-Dirigent: http://der-dirigent.de
nach einigen stunden forum surfen habe ich das leider auch schon gefunden. schade eigentlich. habe das jetzt auch so gelöst. gibt es eigentlich eine größenbegrenzung der module? brauche VIELE variablen ...
das bedeuted mit anderen worten das ein entwickeln komplexer module nicht möglich ist.
was hat es denn mit den plugins auf sich? funktioniert das schon?
kann man sowas damit umsetzen?
das bedeuted mit anderen worten das ein entwickeln komplexer module nicht möglich ist.
was hat es denn mit den plugins auf sich? funktioniert das schon?
kann man sowas damit umsetzen?