Skip to content

mintbridge/jellyform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

JellyForm is a form building module for Jelly. It is currently in development and will change.

Currently there are only a few fields types but others will be added shortly.

Its possible to pass models to the form, that can be used to set the value of a field, the field definition should include a models propety that specifies the model and field to use eg

'model.field1' => new Jelly_Form_String(array(	'label' => 'Name',	'model' => 'modelname.fieldname', )), 

This is still under development, so currently only the field value gets set. Other values such as labels, rules, etc will also be possible soon.

Example Usage

class Form_Example extends Jelly_form {	function initialize()	{	$this->set('action', 'action')	->elements(array(	'model.field1' => new Jelly_Form_String(array(	'label' => 'Name',	)),	'model.field2' => new Jelly_Form_Text(array(	'label' => 'Description',	)),	'fieldset' => new Jelly_Form_Fieldset(array(	'legend' => 'Im a legend',	'elements' => array(	'anothermodel.field1' => new Jelly_Form_Email(array(	'label' => 'Label1',	'class' => 'large',	)),	'anothermodel.field2' => new Jelly_Form_String(array(	'label' => 'Another Label',	)),	'anothermodel.field3' => new Jelly_Form_Enum(array(	'label' => 'Blah',	'options' => array(	'1' => 'Option 1',	'2' => 'Option 2',	),	)),	'anothermodel.field4' => new Jelly_Form_String(array(	'label' => 'Foooooo',	)),	'anothermodel.field5' => new Jelly_Form_Password(array(	'label' => 'Password',	)),	),	)),	));	} } 

Controller

$example = Jelly::select('example', 1); $form = new Form_Example(array('action'=>'test', 'models'=>array('example' => $example))); 

Then to display the form in your view just use

echo $form; 

or alternatively you can just display parts of the form eg.

just show fieldset_one

echo $form->elements('fieldset_one'); 

or just show the email field

echo $form->elements('fieldset_one')->elements('email'); 

or loop trhough a set of elements

foreach($form->elements('fieldset_one')->elements() as $element) {	echo $element; } 

About

A form builder for Kohana

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages