Page 1 of 1

Wert aus Link in Form-Builder Formular übergeben!

Posted: Thu Apr 22, 2010 3:18 pm
by postwurfsendung
Hallo,
ich möchte gerne einen Wert aus einem Link:
In diesen Fall soll "MEiNWERT" in ein Feld übergeben werden.

z.b.

Code: Select all

index.php?page=anfrage&infeld=MEINWERT
Nun theoretisch müsste ich ja erstmal den Wert umwandeln für das Feld:

Code: Select all

$value = $_GET[infeld];
Und dies hat die Folge das ich natürlich das input feld noch definieren muss:

Code: Select all

echo("input type='text' name='textbox' value='".$value."'>n");
Soviel zur Theoretischen Anwendung. Aber wie nur füge ich diese wenigen Sachen in den Formbuilder ein, welche Datei davon muss ich bearbeiten das er versteht was ich von ihm will. Ich hab jetzt schon ein wenig versucht bin aber irgendwie nicht schlau draus geworden, wo genau das Feld überhaupt definiert wird.

Kennt sich damit jemand aus?

Danke

Re: Wert aus Link in Form-Builder Formular übergeben!

Posted: Thu Apr 22, 2010 6:44 pm
by NaN
Versuchs doch mal so: Erstelle ein UDT mit dem von Dir geposteten Code (etwas modifiziert):

Code: Select all


if(isset($_GET[infeld])) echo $_GET[infeld];

Und dann erstelle im FoumBuilder ein Feld, bei dessen Wert Du diesen UDT angibst.
Oder so ähnlich.
Kenne mich mit dem Formbuilder (leider noch immer) nicht besonders gut aus.
Aber soweit ich weiß kann man angeben, ob der angegebene Wert von der Template Engine Smarty nochmal verarbeitet werden soll.
Und wenn als Wert "{dein_UDT}" angegeben ist, müsste er im Frontend, wenn die Variable "infeld" existiert, diese als Wert des Inputs ausgeben.

Re: Wert aus Link in Form-Builder Formular übergeben!

Posted: Thu Apr 22, 2010 7:38 pm
by cyberman
Du musst gar nix umwandeln ... Smarty kennt bereits einen Großteil der Server-Variablen ;)

Code: Select all

{$smarty.get.infeld}
http://www.smarty.net/manual/de/languag ... smarty.php

Nun kommt es natürlich darauf an, was du genau mit der Variablen machen willst.

Wenn ich mich recht entsinne, kannst du im Formbuilder Smarty-Variablen für Felder verwenden ...

Re: Wert aus Link in Form-Builder Formular übergeben!

Posted: Thu Apr 22, 2010 7:46 pm
by klenkes
Du ruft ganz einfach dein Formular auf und in diesem Aufruf übergibst du die Variable aus: $smarty.get.infeld in der Form von:

$fld_20=$smarty.get.infeld

Wobei $fld_20 natürlich deine FeldID widerspiegeln muss.

Das funktioniert prima.

Bernd

Re: Wert aus Link in Form-Builder Formular übergeben!

Posted: Fri Apr 23, 2010 10:51 am
by postwurfsendung
OK jetzt hab ich gehirngulasch :D Erstmal vielen lieben Dank für die Hilfe.

Also das mit der lfd leuchtet mir irgendwie ein!

Ich soll jetzt also diesen Schnipsel

Code: Select all

{$smarty.get.infeld}
wo einfügen?

und wie soll dann der Link aussehen damit er das versteht mit der laufenden Nummer?

MFG

Re: Wert aus Link in Form-Builder Formular übergeben!

Posted: Fri Apr 23, 2010 12:20 pm
by NaN
Ist etwas ungenau beschrieben, aber Klenkes hat recht.
Du rufst doch das Formular so auf {FormBuilder form="[form_alias]"}

Und dort sollst Du $smarty.get.infeld als Wert für einen weiteren Parameter eingeben.
Und der Parameter muss so heißen wie das Feld in das dieser Wert hinein soll.

Aus der Modulhilfe:

Passing Default Values to Forms

Calguy added a nice feature, which is that you can pass default field values to your form via the module tag. This allows you to have the same form in multiple places, but with different default values. It may not work for more exotic field types, but for fields that have a single value, you can specify like:

{FormBuilder form='my_form' value_FIELDNAME='default_value'}

This will set the field with FIELDNAME to 'default_value'.

This can be problematic, as sometimes field names are unwieldy or contain characters that don't work well with Smarty. So there is an alternative like this:

{FormBuilder form='my_form' value_fldNUMBER='default_value'}

That uses field NUMBER, where NUMBER is the internal FormBuilder field id. You might wonder how you know what that id is. Simply go into the FormBuilder configuration tab, and check "Show Field IDs"
Auf Deutsch:

{FormBuilder form='[form_alias]' value_fld[FELD_ID]=$smarty.get.page}

Habs grad probiert und funktioniert.

[FELD_ID] ist eine interne ID, die der FormBuilder für jedes Feld vergibt.
In den Einstellungen des Formbuilders kann man einstellen, dass beim Bearbeiten der Formulare die ID der Felder mit angezeigt wird.
(steht dann ganz vorn in der ersten Spalte vor jedem Feld)

Das ganze sollte auch mit " ... value_[FELDNAME]=$smarty.get.page" funktionieren, aber wie in der Hilfe schon angemerkt, können Feldnamen auch Sonderzeichen enthalten was zu Problemen führen kann. Daher ist die Feld ID der sicherste Weg, ein Feld anzusprechen.

Re: Wert aus Link in Form-Builder Formular übergeben!

Posted: Fri Apr 23, 2010 1:31 pm
by postwurfsendung
WELTKLASSE!
Vielen Dank funktioniert spitze!