Zum Inhalt springen

Formulare generieren

Erstellt am 13. Juli 2004 · 5 Antworten · letzte Antwort am 23. September 2007

Tags: Frage

boonkerz ·

Hallo

Mann kann ja mit:

$this->cObj->FORM();

Formulare generieren. Ich habe mal probeweißer etwas Code erstellt.
Leider kommen aber keine Eingabefelder. Nur der rahmen kommt also das:

<form action="index.php?id=38" name="858a435f6ee1fb624e825e312516b1e6"
enctype="multipart/form-data" method="post"></form>

So sieht mein Code aus:

 function main($content,$conf) {
  $this->conf=$conf;
  $this->pi_setPiVarDefaults();
  $this->pi_loadLL();


  $content='
   <strong>Form:</strong><BR>
   '.$this->cObj->FORM($this->mFormWidthButton()).'
  ';

  return $this->pi_wrapInBaseClass($content);
 }

   function mFormWidthButton() {

  $conf = array();

  $conf["dataArray."]["layout"] =
"<tr><td>###LABEL###</td><td>###FIELD###</td></tr>";
  $conf["dataArray."]["10."]["label"]="Test";
  $conf["dataArray."]["10."]["type"]="name=input";
  $conf["dataArray."]["10."]["value"]="Test";
  $conf["dataArray."]["20."]["type"]="submit=submit";
  $conf["dataArray."]["20."]["value"]="submit";

 return  $conf;

 }

Danke

TW ·

hi
mal ne frage
warum machst du es so umständlich???
schau dir mal das gästebuch an.....

das ist viel simpler...
will sagen

case "POSTFORM":
					$lConf = $conf["postform."];
					$content.=$cObj->FORM($lConf);

und dann nur an das setup und die inc. dateien denken

cu
thorsten

boonkerz ·

Hallo

Ja nur wo holt er das raus?

In der ext_typoscript_setup.txt ist das Definiert.

Nur wie kann ich das in meine eigene Extension bringen?

Das sich da das layout holt?

MFG

malisch01 ·
boonkerz schrieb
$this->cObj->FORM();
<form action="index.php?id=38" name="858a435f6ee1fb624e825e312516b1e6"
enctype="multipart/form-data" method="post"></form>
 function main($content,$conf) {
  $this->conf=$conf;
  $this->pi_setPiVarDefaults();
  $this->pi_loadLL();


  $content='
   <strong>Form:</strong><BR>
   '.$this->cObj->FORM($this->mFormWidthButton()).'
  ';

  return $this->pi_wrapInBaseClass($content);
 }

   function mFormWidthButton() {

  $conf = array();

  $conf["dataArray."]["layout"] =
"<tr><td>###LABEL###</td><td>###FIELD###</td></tr>";
  $conf["dataArray."]["10."]["label"]="Test";
  $conf["dataArray."]["10."]["type"]="name=input";
  $conf["dataArray."]["10."]["value"]="Test";
  $conf["dataArray."]["20."]["type"]="submit=submit";
  $conf["dataArray."]["20."]["value"]="submit";

 return  $conf;

 }

Hallo,

versuch jetzt seit circa 3Stunden das mit cObj->FORM(..) ein Formular zu erstellen,
#angry# kriege aber nur den Rahmen wie boonkarz.

Warum funktioniert dass nicht?

Bin ich zu blöd?
Bitte um Hilfe.

Grüße

malisch01 ·

Hallo,

nach etwas debuggen in der class.tslib_content.php, geht es jetzt hiermit:
Der erste Parameter von $this->cObj->FORM() muss $conf sein!

$conf['layout'] = '<tr><td>###LABEL###</td><td>###FIELD###</td></tr>';
$formData [] = array('Deutsch:', 'name=input, 35 ', 'deutsche Uebersetzung ...');
$merk= $this->cObj->FORM($conf,$formData);
$inhalt= $this->cObj->substituteMarker($inhalt,'###Formular###',$merk);

gruss