Raccourcis : Contenu - rubriques - sous rubriques
EN FR
Recherche Rapide Recherche avancée
 
Page

  [Ouvert] initFromDao() et saveToDao(),

Posté par turowbye le 31/05/2007 19:06

Je n'arrive pas à utiliser correctement les fonctions initFromDao() et saveToDao().

Je vous fournis le code de ma fonction edit() pour vous permettre de voir dans quel contexte je désire les utiliser.

 
 function edit(){
    $rep = $this->getResponse('html', true);
    $rep->bodyTpl = 'main';
 
    /* IL FAUT DANS URLS.XML UNE VALIDATION SUR LE ID QU'IL SOIT UN ENTIER PLUS GRANS QUE -1
    */
 
    $tpl2 = new jTpl();
    $form2 = jForms::create('sample', $this->param('id'));
 
    if($this->param('id') == 0){  // New record
      $rep->title = 'Nouveau formulaire';
    }else{  // The record should exist
      $fact = jDao::get('chat~chat');
      $rec = $fact->get($this->param('id'));
      if($rec != null){  // The record exist
        $rep->title = 'Édition d\'un formulaire';
        $form2->setData('pk', $rec->pk);
        $form2->setData('nom', $rec->nom);
        $form2->setData('prenom', $rec->prenom);
      }else{  // The record don't exist
        $rep->title = 'Clé primaire inexistante';
        $rep->body->assign('MAIN2', 'La recherche de la clé PK : '.$this->param('id').' n\'existe pas.');
        return $rep;
      }
    }
    $tpl2->assign('form', $form2->getContainer());
    $tpl2->assign('id', $this->param('id'));
    $rep->body->assign('MAIN2', $tpl2->fetch('editdao'));
	
    return $rep;
 }
 

Windows 2000 - Apache 2.2.4 - PHP 5.2.2

  [Ouvert] Re: initFromDao() et saveToDao(),

Réponse #1 Postée par bballizlife le 31/05/2007 19:40

Là comme ça sans regarder ton code, je ne dirais qu'une chose : jForms est bien noté comme expérimental et son implémentation n'est pas terminée. Son bon fonctionnement n'est nullement garanti.

jForms est prévu pour la beta3 et Laurent y travaille actuellement dessus dans une branche spéciale du dépôt svn.

Ceci dit il me semble que initFromDao() doit quand même fonctionner. Pour cela ton fichier chat.form.xml et "chat.dao.xml" doivent avoir les même élements afin que les correspondances puissent se faire. Tu pourras ensuite remplacer tes $form2->setData() par un seul $form2->initFromDao('ta~dao');


N'importe comment c'est dans la doc

  [Ouvert] Re: initFromDao() et saveToDao(),

Réponse #2 Postée par bballizlife le 01/06/2007 11:53

Mais de rien ;)


N'importe comment c'est dans la doc

  [Ouvert] Re: initFromDao() et saveToDao(),

Réponse #3 Postée par laurentj le 01/06/2007 20:46

@turowbye : tu as des exemples d'utilisation dans le module testapp de l'appli testapp. Regarde le code, ça peut t'aiguiller sur l'utilisation.

(désolé pour la doc inexistante pour le moment, mais ça sera écrit pour la beta3)

  [Ouvert] Re: initFromDao() et saveToDao(),

Réponse #4 Postée par laurentj le 02/06/2007 12:07

Voir un petit descriptif de ce que je prevois et qui commence à fonctionner :-)

 
Page
  1. Re: initFromDao() et saveToDao(),