[Symfony]Récupérer les catégories

Rechercher

[Symfony]Récupérer les catégories

Par saturn1  -  8 reponses  -  Le 24/01/2009 22:23  -  Editer  - 

Salut j'ai encore un problème avec symfony... (dsl de flooder ton forum..)

En faite je refais jobeet en l'adaptant à mon blog.

Sur l'index je souhaite afficher les différentes catégories de mon blog.

L'erreur est :

Notice: Undefined variable: categories in C:\development\sfprojects\blog\apps\frontend\templates\layout.php on line 24****Warning: Invalid argument supplied for foreach() in C:\development\sfprojects\blog\apps\frontend\templates\layout.php on line 24

Alors ce que j'ai fais c'est une méthode getCategory que voici:

class BlogCategoryTable extends Doctrine_Table{  public function getCategory() {    $q = $this->createQuery('c');        return $q->execute();  }}

et dans executeIndex je fais

$this->categories = Doctrine::getTable('BlogCategory')->getCategory();

Merci de ton aide ;)

 

Réponses apportées à cette discussion

Par Emacs  -  Le 25/01/2009 10:44  -  Haut de page  - 

C'est normal que tu aies cette erreur car tu essaie d'afficher la liste de tes catégories dans le layout.php alors que tu exécutes l'action index. Il faut donc que tu places la liste de tes catégories dans le template indexSuccess.php.

Si toutefois tu veux vraiment que tes catégories se trouvent dans ton layout (pour un menu je suppose), il faut que tu aies recours à un "component". Je t'invite à lire le symfony book à la recherche des "components". Tu verras c'est très simple à mettre en oeuvre ;)

 
Par saturn1  -  Le 25/01/2009 13:14  -  Haut de page  - 

Oui je tiens absolument à le mettre dans le layout.

Ok mais j'ai une erreur. Voici mon fichier components.class.php

<?php class categoryComponents extends sfComponents{  public function executeCategory()  {  $this->categories = Doctrine::getTable('BlogCategory')->getCategory();  }}

et dans mon layout j'ai rajouté :

Il me dit

The component does not exist: "category", "category".

Merci !

 
Par Emacs  -  Le 25/01/2009 13:40  -  Haut de page  - 

Tu as vidé le cache pour que la classe categoryComponents soit prise en compte ?

 
Par saturn1  -  Le 25/01/2009 13:47  -  Haut de page  - 

oui of course !

 
Par saturn1  -  Le 25/01/2009 13:53  -  Haut de page  - 

Mais je précise que je n'ai pas créer de module category j'ai mis mon fichier components.class.php dans l'action du module article !

C'est grave ?

 
Par saturn1  -  Le 25/01/2009 14:00  -  Haut de page  - 

En bidouillant j'ai réussi, grâce à la page d'erreur qui affiche toutes les informations !

Merci !:)

 
Par Emacs  -  Le 25/01/2009 14:09  -  Haut de page  - 

Bah dans ce cas oui c'est normal car si tu fais un "categoryComponents" dans le module article ça ne va pas. Il aurait fallu que ta classe soit nommée "articleComponents".

 
Par saturn1  -  Le 25/01/2009 14:10  -  Haut de page  - 

effectivement :p

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |