Question idiote: côté publique c'est le thème qui fait ses formulaires (a l'ancienne) pourquoi ne ferait-on pas pareil côté admin? Ça serait vachement moins usine a gaz quand même.
Dsls <[email protected]> a écrit : >Hello, > >Ci-dessous mes avancements sur le sujet twig. A l'ordre du jour : > >Concernant la lib : j'ai bossé sur la v1.6.3, il faudrait voir ce >qu'il faut adapter pour la v1.11.1 toute fraîche. Elle est positionnée >dans inc/lib/twig >Coté admin, Twig tout seul ne suffit pas/ne résoudra pas forcément >tous nos problèmes. J'ai lorgné du coté de symphony pour regarder >comment ils faisaient, j'ai donc commencé une lib >inc/admin/class.dc.form.php. > >Concrètement, cela ajoute des fonctions twig particulières de type form_field. > >Une entrée template rendu pour un formulaire de l'admin se résume alors à : >{% form post %} > <p>{{ form_field('cat_id')}}</p> > <p>{{ form_field('post_status')}}</p> > <p>{{ form_field('post_dt')}}</p> > <p>{{ form_field('post_format')}}</p> > <p>{{ form_field('post_open_comment')}}</p> > <p>{{ form_field('post_open_tb')}}</p> > <p>{{ form_field('post_selected')}}</p> > <p>{{ form_field('post_lang')}}</p> >{% endform %} > >Coté code php, on pousse les champs correspondants via le contexte >qu'on transmet au template : >$form = new dcForm($core,'post','post.php'); >$form > ->addField( > new dcFieldHidden('post_id','')) > ->addField( > new dcFieldText('post_title','', array( > 'size' => 20, > 'required' => true, > 'label' => __('Title')))) > ->addField( > new dcFieldTextArea('post_excerpt','', array( > 'cols' => 50, > 'rows' => 5, > 'label' => __("Excerpt:")))) > ->addField( > new dcFieldTextArea('post_content','', array( > 'required' => true, > 'label' => __("Content:")))) > ->addField( > new dcFieldTextArea('post_notes','', array( > 'label' => __("Notes")))); > > >Le rendu est fait de cette forme : > >$page = new dcAdminPage($core); >$ctx = $page->getContext(); >$ctx > ->jsDatePicker() > ->jsToolBar() > ->jsModal() > ->jsMetaEditor() > ->jsLoad('js/_post.js') > ->jsPageTabs($default_tab) > ->jsConfirmClose('entry-form','comment-form'); > >echo $page->render('post.html.twig',array( > 'edit_size'=> $core->auth->getOption('edit_size'))); > > >A force d'écrire, je me dis qu'il vaudrait mieux que je pushe le code >quelque part. Je crée une branche à quel endroit ? > >Je devrais pouvoir faire quelque chose qui affiche des trucs >rapidement, sachant qu'il restera du boulot :) > >-- >Bruno >_______________________________________________ >Dev mailing list >[email protected] >http://ml.dotclear.org/listinfo/dev _______________________________________________ Dev mailing list [email protected] http://ml.dotclear.org/listinfo/dev
