a set of form types for symfony2 using jquery/ui, datepicker, slider, autocomplete/combobox Entity and more..
This bundle is no more developed, you can use this bundle for same functionality http://github.com/genemu/GenemuFormBundle
===============================================
A set of Form Types for symfony2 framework using JQuery
[IoFormBundle]
git=git://github.com/ioalessio/IoFormBundle.git
target=/bundles/Io/FormBundle
Run the vendor script:
./bin/vendors install
$ git submodule add git://github.com/ioalessio/IoFormBundle.git vendor/bundles/Io/FormBundle
<?php
// app/autoload.php
$loader->registerNamespaces(array(
'Io' => __DIR__.'/../vendor/bundles',
// your other namespaces
));
<?php
// app/ApplicationKernel.php
public function registerBundles()
{
return array(
// ...
new Io\FormBundle\IoFormBundle(),
// ...
);
}
// app/config/config.yml
twig:
form:
resources:
- 'IoFormBundle:Form:fields.html.twig'
io_form:
jquery_tinymce:
source: /bundles/yourbundle/js/tiny_mce/tiny_mce.js
theme: simple
Build your form:
<?php
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('user', 'jquery_entity_combobox', array('class' => 'Io\MyBundle\Entity\MyEntity'))
->add('date', 'jquery_date', array('format' => 'dd/MM/y')
->add('int_field', 'jquery_range', array('min' => 0, 'max' => 50, 'step' => 2)
->add('note', 'jquery_tinymce')
);
}
Several options are available on jquery_date widget
<?php
$builder->add('the_date', 'jquery_date', array(
'format' => 'dd/MM/y' 'dd.MM.yy' 'd MMM, y'
'changeMonth'=> 'true',
'changeYear' => true,
'minDate'=> '-1y',
'maxDate'=> '+1y',
'yearRange' => '-1y:+1y',
'showOn' => 'focus'
));
In addition, non-supported datepicker options can be added by prepending with "jqd."
<?php
$builder->add('the_date', 'jquery_date', array(
...
'jqd.appendText' => 'extra text',
'jqd.buttonText' => 'BUTTON!'
))
Will render as:
$( "#wn_trackingbundle_resulttype_date" ).datepicker({
...
appendText: 'boosh!',
buttonText: 'BUTTON!'
});
More details on some types:
WARNINGS: Form Types uses last version of Jquery v1.6 and JQueryUI v1.8 Libraries You must have jquery and jquery ui already loaded in your template You must include jquery tinymce library (v3.4.4) in your project ( http://www.tinymce.com/download/download.php )
#yourlayout.html.twig
<body>
...
{% block js %}
<script type="text/javascript" src="{{ asset('path/js/jquery-ui-1.8.15.custom.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('path/js/js/combobox.js') }}"></script>
<script type="text/javascript" src="{{ asset('path/js/js/tiny_mce/jquery.tinymce.js') }}"></script>
{% endblock %}
</body>