Seite 1 von 1

CMS_VALUE[$i] wird nicht gespeichert!

Verfasst: Di 5. Okt 2010, 10:55
von SoFly
Hallo Liebe Contenido Community,

ich bin gerade dabei etwas mit Contenido zu bauen und habe nun ein Modul geschrieben, welches eine dynamische Anzahl an Boxen erzeugt.
Wenn ich nun bei einem Artikel in die Konfiguration gehe, kann ich dort auswählen wie viel Boxen ich denn haben möchte - klappt soweit auch wird alles erzeugt.
Sobald ich allerdings die Variablen fülle und abspeichere sind diese Leer bzw nicht beschrieben.

Ich wäre euch für Hilfe sehr dankbar, ich beiß mir dadran noch die Zähne aus!

Hier der Code zum Modul Input - den Output habe ich noch nicht geschrieben, da die Variable ja eh nicht gespeichert wird...ich hoffe das hängt nicht zusammen

Code: Alles auswählen

?>
  <table>
    <tr>
      <td>
        Anzahl Blöcke:
      </td>
      <td>
        <input type="text" name="CMS_VAR[99]" size="3" value="CMS_VALUE[99]">
      </td>
    </tr>
  </table>';
<?php
  $count = "CMS_VALUE[99]";
  for($a = 0; $a < $count; $a++)
  {
    $headline=1+(3*$a);
    $subheadline=2+(3*$a);
    $text=3+(3*$a);
    $b= $a+1;
    echo '<table>
            <tr>
              <td colspan="2">
                <strong>Textblock '.$b.'</strong>
              </td>
            </tr>
            <tr>
              <td>Headline:</td>
              <td><input type="text" name="CMS_VAR['.$headline.']" size="20" value="CMS_VALUE['.$headline.']"></td>
            </tr>
            <tr>
              <td>Subheadline:</td>
              <td><input type="text" name="CMS_VAR['.$subheadline.']" size="20" value="CMS_VALUE['.$subheadline.']"></td>
            </tr>
            <tr>
              <td align="top">Text:</td>
              <td><textarea name="CMS_VAR['.$text.']" rows="10" cols="20">CMS_VALUE['.$text.']</textarea></td>
            </tr>
          </table>';
  }
?>
<?php

Re: CMS_VALUE[$i] wird nicht gespeichert!

Verfasst: Di 5. Okt 2010, 13:56
von i-fekt
Das funktioniert nicht mit Contenido. Was ist denn dein ziel dahinter?

Re: CMS_VALUE[$i] wird nicht gespeichert!

Verfasst: Di 5. Okt 2010, 14:00
von kummer
das geht im prinzip schon. bloss nicht mit diesem mechanismus. man muss direkt die variablen verwenden, statt deren platzhalter. dann dürfte das funktionieren.

Re: CMS_VALUE[$i] wird nicht gespeichert!

Verfasst: Di 5. Okt 2010, 14:06
von OliverL
Hier mal zur erklärung was Contenido im Frontend macht.
Das sollte dann auch fürs Backend funktionieren.

Dein's:

Code: Alles auswählen

echo '<input type="text" name="CMS_VAR['.$subheadline.']" size="20" value="CMS_VALUE['.$subheadline.']">';
Mein's:

Code: Alles auswählen

echo '<input type="text" name="C'.$cnumber.'CMS_'.'VAR['.$subheadline.']" size="20" value="'."CMS_VALUE[$subheadline]".'">';
Zur Erklärung:
Contenido sucht im Frontend nach allen 'CMS_VALUE[ ... ]'.
Nach dem alle gesammelt wurden guckt Contenido was davon als Key eine Zahl hat.

Bei Zahlen gilt: (wird so auch im Cache gespeichert)
echo "CMS_VALUE[1]";
ist
echo "Wert";

Bei nicht Zahlen gilt: (hier im Container 6)
echo "CMS_VALUE[$i]";
ist
echo "$C6CMS_VALUE[$i]";


Weiteres auch hier:
http://www.contenido-wiki.org/wiki/inde ... .26_Output


mfg Oli

Re: CMS_VALUE[$i] wird nicht gespeichert!

Verfasst: Di 5. Okt 2010, 14:11
von idea-tec
mach das mal so: <snipp>
sollte gehen, ist jedoch ungetestet, auf die schnelle auf deinen code hingeschrieben

Code entfernt, weil hier inzwischen getestet: http://forum.contenido.org/viewtopic.ph ... 32#p146832 und zur erhöhung der lesbarkeit des forums und veringerung unnützen inhalts

Re: CMS_VALUE[$i] wird nicht gespeichert!

Verfasst: Di 5. Okt 2010, 14:11
von idea-tec
i-fekt hat geschrieben:Das funktioniert nicht mit Contenido. Was ist denn dein ziel dahinter?
dummgebabbel, natürlich geht das

Re: CMS_VALUE[$i] wird nicht gespeichert!

Verfasst: Di 5. Okt 2010, 14:24
von idea-tec
Ist getestet und funktioniert:

Code: Alles auswählen

$sSubmitLink = '<a href="javascript:if (document.tplcfgform.send) {document.tplcfgform.send.value = 0}; document.tplcfgform.submit();"><img src="images/submit.gif" /></a>';
$sSubmitOnchange='javascript:if (document.tplcfgform.send) {document.tplcfgform.send.value = 0}; document.tplcfgform.submit();';
$count = "CMS_VALUE[99]";
    ?>
      <table>
        <tr>
          <td>
            Anzahl Blöcke:
          </td>
          <td>
            <input type="text" name="CMS_VAR[99]" size="3" value="<?php echo $count; ?>">
          </td>
          <td>Blöcke einsetzen: &nbsp;<input type="image" src="images/submit.gif"></td>
        </tr>
      </table>
    <?php
      for($a = 0; $a < $count; $a++)
      {
        $headline=1+(3*$a);
        $subheadline=2+(3*$a);
        $text=3+(3*$a);
        $b= $a+1;
        
        $headlinevalue="CMS_VALUE[$headline]";
        $subheadlinevalue="CMS_VALUE[$subheadline]";
        $textvalue="CMS_VALUE[$text]";
        
        echo '<table>
                <tr>
                  <td colspan="2">
                    <strong>Textblock '.$b.'</strong>
                  </td>
                </tr>
                <tr>
                  <td>Headline:</td>
                  <td><input type="text" name="CMS_VAR['.$headline.']" size="20" value="'.$headlinevalue.'"></td>
                </tr>
                <tr>
                  <td>Subheadline:</td>
                  <td><input type="text" name="CMS_VAR['.$subheadline.']" size="20" value="'.$subheadlinevalue.'"></td>
                </tr>
                <tr>
                  <td align="top">Text:</td>
                  <td><textarea name="CMS_VAR['.$text.']" rows="10" cols="20">'.$textvalue.'</textarea></td>
                </tr>
              </table>';
      }
    ?>
    <?php

Re: CMS_VALUE[$i] wird nicht gespeichert!

Verfasst: Di 5. Okt 2010, 14:44
von SoFly
vielen dank! funktioniert super :)

Re: CMS_VALUE[$i] wird nicht gespeichert!

Verfasst: Di 5. Okt 2010, 15:43
von i-fekt
idea-tec hat geschrieben:Ist getestet und funktioniert:

Code: Alles auswählen

$sSubmitLink = '<a href="javascript:if (document.tplcfgform.send) {document.tplcfgform.send.value = 0}; document.tplcfgform.submit();"><img src="images/submit.gif" /></a>';
$sSubmitOnchange='javascript:if (document.tplcfgform.send) {document.tplcfgform.send.value = 0}; document.tplcfgform.submit();';
$count = "CMS_VALUE[99]";
    ?>
      <table>
        <tr>
          <td>
            Anzahl Blöcke:
          </td>
          <td>
            <input type="text" name="CMS_VAR[99]" size="3" value="<?php echo $count; ?>">
          </td>
          <td>Blöcke einsetzen: &nbsp;<input type="image" src="images/submit.gif"></td>
        </tr>
      </table>
    <?php
      for($a = 0; $a < $count; $a++)
      {
        $headline=1+(3*$a);
        $subheadline=2+(3*$a);
        $text=3+(3*$a);
        $b= $a+1;
        
        $headlinevalue="CMS_VALUE[$headline]";
        $subheadlinevalue="CMS_VALUE[$subheadline]";
        $textvalue="CMS_VALUE[$text]";
        
        echo '<table>
                <tr>
                  <td colspan="2">
                    <strong>Textblock '.$b.'</strong>
                  </td>
                </tr>
                <tr>
                  <td>Headline:</td>
                  <td><input type="text" name="CMS_VAR['.$headline.']" size="20" value="'.$headlinevalue.'"></td>
                </tr>
                <tr>
                  <td>Subheadline:</td>
                  <td><input type="text" name="CMS_VAR['.$subheadline.']" size="20" value="'.$subheadlinevalue.'"></td>
                </tr>
                <tr>
                  <td align="top">Text:</td>
                  <td><textarea name="CMS_VAR['.$text.']" rows="10" cols="20">'.$textvalue.'</textarea></td>
                </tr>
              </table>';
      }
    ?>
    <?php
Bei mir tritt dabei immer ein Fehler auf.

Re: CMS_VALUE[$i] wird nicht gespeichert!

Verfasst: Di 5. Okt 2010, 15:50
von idea-tec
i-fekt hat geschrieben:Bei mir tritt dabei immer ein Fehler auf.
Ich vermute (anderes bleibt einem ja nicht übrig, da du ja leider wiederholt nicht in der Lage bist eine Fehlerbeschreibung zu formulieren), dass du beim Beitragseröffner nicht gelesen hast, dass es sich um einen INPUT und nicht den OUTPUT handelt ...

Re: CMS_VALUE[$i] wird nicht gespeichert!

Verfasst: Mi 6. Okt 2010, 08:48
von OliverL
geleert. Hab das folgende überlesen.
SoFly hat geschrieben:vielen dank! funktioniert super :)
mfg OliverL