Bonjour,

Je suis actuellement entrain d'essayer de mettre des filtres dans un module en front-end.

Dans ma BDD, j'ai des clients et chaque client peut avoir un ou plusieurs programmes et dans chaque programme plusieurs albums (images et vidéo).

Donc dans une des pages du client, il y a tous les médias (images et vidéos) regroupés , et ce que je veux c'est filtrer les médias par albums pour commencer.

Voici le code dans mon action :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
$this->allmedia = $this->getRoute()->getObject();
    $this->filter = new MediaFormFilter();
    $this->filter->bind($request->getParameter($this->filter->getName()));
    if($this->filter->isValid())
        {
            $this->filter = $this->filter->$q->execute();
        }
 
echo $this->filter;

Et le code dans MediaFormFilter.class.php

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
public function configure()
  {
      $this->useFields(array(
          "album_id",
      ));
 
  }
Le résultat me donne une liste déroulante mais avec la liste de tous les albums, or j'aimerai avoir seulement les albums liée au client personnellement et non pas les albums de tout les clients.

Donc ma requête serait :

$id = $this->getUser()->getProgram()->getId();

$q = Doctrine::getTable('Album')->createQuery('a');
$q -> select('title');
$q -> where('a.program_id = ?', $id);

Mais après de plusieurs recherche je ne trouve pas réponse à mon problème.

Merci et bonne journée