Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] jDao et l'ajout de méthode via XML (Résolu)

Posted by ofthedead on 01/05/2009 20:53

Bonjour,

Je viens de commencer la prise en main de Jelix, à mon grand contentement (beaucoup plus léger que ZF, enfin, ce n'est pas vraiment comparable, je trouve l'approche différente, soit, je vais fermer cette parenthèse, nous ne sommes pas là ce soir pour ça...).

J'essaie, en vain (vous vous en doutez), d'apprivoiser l'ajout de méthode à un DAO via XML (comme le dit le titre).

J'ai suivi l'exemple dans le manuel, mais j'aboutis toujours à une jolie page blanche. Après quelques tests, j'ai rapidement isolé mon appel à ma méthode ajoutée...

Voici les points concernés de mon code :

  • Déclaration du DAO, record et méthode perso
 <record> 
 	<property name="id" fieldname="id_post" datatype="autoincrement"/> 
 	<property name="title" fieldname="title" datatype="string"/> 
 	<property name="summary" fieldname="summary" datatype="string"/> 
 	<property name="body" fieldname="body" datatype="string"/> 
 	<property name="date" fieldname="date" datatype="date"/> 
 </record> 
	
 <method type="select" name="getDigest"> 
 	<parameter name="startDate" />
 	<parameter name="endDate" />
 	<conditions logic="AND">
 		<gteq property="date" value="$startDate" expr="" />
 		<lt property="date" value="$endDate" expr="" />
 	</conditions>
 </method>
  • Appel dans le PHP
 $daoPost = jDao::get('blog~post');
 $startDate = date('Y-m-d', mktime(0, 0, 0, $month, 01, $year));
 $endDate = date('Y-m-d', mktime(0, 0, 0, $month+1, 01, $year));
 $posts = $daoPost->getDigest($startDate, $endDate);

Après l'appel à $daoPost->getDigest, ça plante tout simplement. Page blanche. J'en déduis que c'est genre un appel à une méthode inexistante ou quoi. Mais pourquoi ?

Bref, help me. J'ai bien RTFM et j'ai "Googlisé".

En tous cas, merci déjà à ceux qui ont eu le courage de tout lire :D... Et merci à ceux qui prendront le temps de répondre!

Bonne soirée.

__

Je n'avais pas mis la balise <method> dans la balise <factory>... Et j'avais aussi utilisé l'attribut value au lieu d'expr.

Au temps pour moi, bonne soirée ^^.

  [Opened] Re: jDao et l'ajout de méthode via XML

Reply #1 Posted by Zeffyr on 01/05/2009 21:23

salut,

Dans ton DAO, tes méthodes doivent être inclues dans la balise <factory> </factory> et remplace:

 <gteq property="date" value="$startDate" expr="" />
 <lt property="date" value="$endDate" expr="" />

par:

 <gteq property="date" expr="$startDate"  />
 <lt property="date" expr="$endDate" />

Et puis avoir ne veux pas dire qu'il y une erreur, il faut ensuite afficher le conntenu (mais ça je pense que tu l'as fait).

  [Opened] Re: jDao et l'ajout de méthode via XML

Reply #2 Posted by manooweb on 01/05/2009 21:27

Salut,

hum tu fais bien un appel dans un controleur avec instanciation d'une réponse ??

http://jelix.org/articles/fr/manuel-1.1/(..)


Manu

  [Opened] Re: jDao et l'ajout de méthode via XML (Résolu)

Reply #3 Posted by ofthedead on 01/05/2009 23:27

Merci pour vos réponses!

J'avais, comme l'a souligné Zeffyr, oublié (ou plutôt je ne savais pas que je devais) la balise <factory>.

Ma mauvaise utilisation de l'attribut value (maintenant remplacé par expr) n'était pas à la base de l'erreur qui me tourmentait, mais en effet, je n'aurais pas eu beaucoup de résultat :D.

Bref, merci et bonne soirée!

 
Page
  1. jDao et l'ajout de méthode via XML (Résolu)