developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Opened 10 years ago

Last modified 8 years ago

#981 delayed new feature

createtplform command

Reported by: foxmask Owned by:
Priority: normal Milestone:
Component: jelix-scripts Version:
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Documentation needed: no
Hosting Provider: Php version:

Description

La commande suivante :

createtplform monModule monCtrlA maMethodeA monTemplateA monFormA montypeReponseA

devrait permettre de créer automatiquement, un formulaire et la methode pour l'appeler, dans le module cible.

Le template serait 'formfull' comme suit :

{formfull $form 'monModule~monCtrlA:maMethodeA'}
{formsubmit}
  • la méthode dans le contrôleur pour gérer le template et le form, serait comme suit :
     class monCtrlA {
     ...
     function maMethodeA() {
       $rep = jResponse(montypeReponseA) {
       $tpl = new jTpl();
       $form = jForms::create(monFormA);
       $tpl->assign('form,$form);
       $rep->assign->body($tpl->fetch(monTemplateA));
       return $rep;
       }
     }
    

C'est peut-être du "délire" mais ca pourrait être cool non ? :)

Change History (4)

comment:1 Changed 10 years ago by geekbay

personnelement je vais pas en avoir vraiment l'utilité, vu que j'ai deja un raccourci createform dans mon editeur, par contre ma syntax peut peut-etre t'interesser

/** @var JFormsBase */
$form = jForms::get('|');
if(!$form)
  $form = jForms::create('|');

$tpl = new jTpl();
$tpl->assign('form',$form);

/** @var jResponseHtml */
$rep = $this->getResponse('html');
$rep->body->assign('MAIN',$tpl->fetch('|'));

return $rep;

et si deja, alors peut etre qu'automatiquement le script ajouterai aussi une methode maMethodeAVerifForm

fonction maMethodeAVerifForm() {
  /** @var jResponseRedirect */
  $rep = $this->getResponse('redirect');
  $rep->action='|';
  $rep->params = array('|' => |);

  /** @var jFormsBase */
  $form = jForms::get('|');
  if(!$form)
    return $rep;

  $form->initFromRequest();

  if (!$form->check()) {
    return $rep;
  }
  else {
  }
}

dans cet esprit peut etre ?

comment:2 Changed 10 years ago by foxmask

Exactement ;)

tu utilises quel éditeur où tu as mis ce genre de templating ?

comment:3 Changed 10 years ago by laurentj

  • Component changed from jelix:core:command line to jelix-scripts
  • Milestone Jelix 1.2 deleted
  • Owner bballizlife deleted

comment:4 Changed 8 years ago by laurentj

  • Status changed from new to delayed
Note: See TracTickets for help on using tickets.