Hello,

works perfectly, thank you

with best regards,
Rafal

----- Original Message ----- 
From: "Shane Beasley" <[EMAIL PROTECTED]>
To: "Turbine Users List" <[email protected]>
Sent: Friday, March 31, 2006 9:34 AM
Subject: Re: Intake - multiple Data objects and "dynamic" forms


> Rafal Markut wrote:
> 
> >  I have form with Offer informations (offer ID, date, offer
> >  description etc.). I want add products to the offer. Amount of
> >  products is dynamic, sometimes 1, sometimes 10. So I have button
> >  which adds fields with product information. When I press button e.g.
> >  5 times, then it generates in the form 5 times fields for product
> >  information. Offer informations are in Offer-table. Product data are
> >  in Product table - the tables are connected by foreign key, of
> >  course.
> 
> If you have a logical Intake group with one or two fields that happen to 
> take multiple values sometimes, you might find it useful to use <field 
> name="MyField" multiValued="true">. Then, you can do something like this 
> in Velocity...
> 
> #set ($group = $intake.MyGroup.Default)
> #set ($field = $group.MyField)
> <input name="$field.Key" /> <input name="$field.Key" /> <input 
> name="$field.Key" />
> 
> ...and something like this in the Java form handler:
> 
> Group group = intake.get("MyGroup", IntakeTool.DEFAULT_KEY);
> Field field = group.get("MyField");
> for (String value : (Collection<String>)field.getValue()) { /* do 
> something with the value */ }
> 
> ---
> 
> If, on the other hand, you have several Intake fields that are repeated, 
> I might recommend a separate Intake group for those. For instance:
> 
> #* main part - only one per form *#
> #set ($form = $intake.FormGroup.Default)
> <input name="$form.Field1.Key" /><br />
> 
> #* sub parts - potentially several per form *#
> #foreach ($i in [0 .. 3])
>     <hr />
>     #set ($subitem = $intake.SubitemGroup.setKey("_$i"))
>     <input name="$subitem.SubField1.Key" /><br />
> #end
> 
> And in the Java handler:
> 
> Group form = intake.get("FormGroup", IntakeTool.DEFAULT_KEY);
> Field field1 = form.get("Field1");
> 
> for (int i = 0; i < 3; ++i) {
>     Group subitem = intake.get("SubitemGroup", "_" + i);
>     Field subfield1 = subitem.get("SubField1");
> }
> 
> The group keys are arbitrary; the only constraint is that the key used 
> in Velocity must match the key used in Java.
> 
> Oh, if you're using business-object mapping instead of accessing Intake 
> directly... I don't know much about that, so I hope you (or somebody 
> else) can figure that out. :)
> 
> Good luck!
> 
> Shane

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to