Forums / General / form fields, default value
Don Blogger
Monday 14 December 2009 4:32:12 am
Hi,
I'm creating a form using a content class as the information collector, outputting form fields, e. g., like {attribute_view_gui attribute=$node.data_map.firstname} - this works correctly, but I would like to pre-set a default value (the html input value attribute).
Any ideas how I could do that?
the result should be the input tag like <input type="text" name="dfssdafs" value="predefined value" />
Thanks in advance,
DB
Nicolas Pastorino
Monday 14 December 2009 5:50:49 am
Hi Don,
You may want to create an override for the information collection template for the concerned attributes. By default, the template used when displaying information collection attributes are :
design/standard/templates/content/datatype/collect/<data_type_string>.tpl
where <data_type_string> is the type of attribute used. For a Text Line attribute it is 'ezstring'. Creating an override for these templates goes like this :
extension/my_extension/design/my_design/templates/content/datatype/collect/ezstring.tpl
We can imagine these default values be stored in an INI file for instance, from which you'd get the default values by using the 'ezini' operator.
Let us know how it goes,
-- Nicolas Pastorino Director Community - eZ Member of the Community Project Board eZ Publish Community on twitter: http://twitter.com/ezcommunity t : http://twitter.com/jeanvoye G+ : http://plus.tl/jeanvoye
Monday 14 December 2009 10:06:41 am
Hi Nicolas,
Thanks a lot, mate! I did en override of ezstring and then modified the original template's copy so that it took a parameter "defaultValue" which was introduced in the input tag when the form field's content isn't set.
Since the default values are of the type "firstname, lastname, ..." I opted for taking the content class default value instead of the ezini-solution - will consider this solution for other projects, though.
Thank you very much!
Monday 14 December 2009 10:26:11 am
Glad to hear it worked.
Cheers!
Monday 14 December 2009 10:43:49 am
forgot to mention, of course, that there are no default values for certain data types, so a "quick and dirty" <input type="text" name="email" [...] defaultValue='E-Mail' /> did the trick ;-)