Integrate a chosen library in SonataAdminBundle

Publié le par samuel

Configuration : Symfony http://laiz.lv/?p=5997 2.2.x

1 – Download a chosen library, for example : http://harvesthq.github.com/chosen/

2 – Install this library in your project http://imoas.kbsu.ru/index.php/2018/02/13/buy-cannabis-seeds-toronto/ : < MyBundle>/Ressources/Public

3 – Expand the default template of Sonata for include the library :

For this, add folder in http://anithamgroup.com/?p=3543 this path : < MyBundle>/Ressources/views/Admin

And create file ai???standard_layout.html.twigai???

In this file, I give an example for use library JS with Assetic :

{# extension du modA?le de base #}&lt;/p&gt;<br />
&lt;p&gt;{% extends 'SonataAdminBundle::standard_layout.html.twig' %}&lt;/p&gt;<br />
&lt;p&gt;{# Add CSS #}&lt;/p&gt;<br />
&lt;p&gt;{% block stylesheets %}&lt;/p&gt;<br />
&lt;p&gt;    {# Get parent property #}&lt;/p&gt;<br />
&lt;p&gt;    {{ parent() }}&lt;/p&gt;<br />
&lt;p&gt;    {# My CSS #}&lt;/p&gt;<br />
&lt;p&gt;    {% stylesheets&lt;/p&gt;<br />
&lt;p&gt;    '@MyBundle/Resources/public/chosen/chosen.css'&lt;/p&gt;<br />
&lt;p&gt;    %}&lt;/p&gt;<br />
&lt;p&gt;    {% endstylesheets %}&lt;/p&gt;<br />
&lt;p&gt;{% endblock %}&lt;/p&gt;<br />
&lt;p&gt;{# Add JS #}&lt;/p&gt;<br />
&lt;p&gt;{% block javascripts %}&lt;/p&gt;<br />
&lt;p&gt;    {{ parent() }}&lt;/p&gt;<br />
&lt;p&gt;    {# My JS #}&lt;/p&gt;<br />
&lt;p&gt;    {% javascripts&lt;/p&gt;<br />
&lt;p&gt;    '@MyBundle/Resources/public/chosen/chosen.jquery.min.js'&lt;/p&gt;<br />
&lt;p&gt;    '@MyBundle/Resources/public/js/jquery_admin.js' %}&lt;/p&gt;<br />
&lt;p&gt;       &amp;lt;script src=&amp;quot;{{ asset_url }}&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/p&gt;<br />
&lt;p&gt;    {% endjavascripts %}&lt;/p&gt;<br />
&lt;p&gt;{% endblock %}&lt;br /&gt;<br />

4 – Configure new template on sonata in config.yml :

sonata_admin:&lt;/p&gt;<br />
&lt;p&gt;    title:      Admin&lt;/p&gt;<br />
&lt;p&gt;    templates:&lt;/p&gt;<br />
&lt;p&gt;       layout: MyBundle:Admin:standard_layout.html.twig&lt;br /&gt;<br />

Now the library is import in all sonata template.

 

5 – use library Chosen

protected function configureFormFields(FormMapper $formMapper)&lt;/p&gt;<br />
&lt;p&gt;    {&lt;/p&gt;<br />
&lt;p&gt;       $formMapper-&amp;gt;add('departements', 'sonata_type_model', array('expanded' =&amp;gt; false, 'compound' =&amp;gt; true, 'multiple' =&amp;gt; true,'attr' =&amp;gt; array('class' =&amp;gt; 'chzn-select', 'multiple'=&amp;gt;'true')))&lt;/p&gt;<br />
&lt;p&gt;           -&amp;gt;end();&lt;/p&gt;<br />
&lt;p&gt;}

Done :

 

Chosen

integration chosen on sonata admin bundle

Cette entrée a été publiée dans Symfony 2 Utils. Vous pouvez la mettre en favoris avec ce permalien.



Une réponse à Integrate a chosen library in SonataAdminBundle

  1. Ping : Integrate a chosen library in SonataAdminBundle...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*


nine - = 1

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>