Bonjour, j'ai suivi le tuto système de tag et celui du plugin Média.
J'ai adapter à mes posts dans l'index une image à la une grâce au plugin Média.
Tout fonction bien lorsque j'appel ma fonction index du postscontroller et lorsque je filtre avec mes catégories.
L'image à la une apparaît bien à chaque fois.
Seulement lorsque je filtre avec les Tags, l'image à la une n'apparaît pas.
Je dois avoir un soucis de liaison entre mon model PostTag et le plugin média.
Par exemple pour que cela fonctionne en filtrant avec les catégories, j'ai dû ajouter dans la fonction category

$this->Post->contain('Thumb');

et cela a fonctionné du premier coup.
Mais je n'arrive pas à faire de même avec ma fonction tag.
Pouvez vous m'aider ?

voici ma fonction tag :

function tag($name){
        $this->loadModel('PostTag');
        $this->PostTag->recursive = 0;
        $this->PostTag->contain('Tag','Post');
        $posts = $this->Paginate('PostTag',array(
            'Tag.name'=>$name,
            'Post.type' => 'post',
            'Post.online' => 1,
            'Post.created <= NOW()'
        ));
        $d'tag'] = $this->Post->Tag->find('first',array(
            'conditions' => array('Tag.name' => $name)
        ));
        $post_ids = Set::Combine($posts,'{n}.PostTag.post_id','{n}.PostTag.post_id');
        $this->Post->contain('Tag');
        $d'posts'] = $this->Post->find('all',array(
            'conditions' => array('id' => $post_ids)
        ));
        $this->set($d);
        $this->render('index');
    }

mon model PostTag :

public $recursive = -1;
    public $useTable = 'posts_tags';
    public $actsAs = array('Containable');
    public $belongsTo = array(
        'Post',
        'Tag' => array(
            'counterCache' => 'count'
        )
    );
    public function afterDelete(){
        $this->Tag->deleteAll(array(
            'count' => 0
        ));
    }

Merci

3 réponses


capitalechoplex
Réponse acceptée

Dans ta function tag remplace

$this->Post->contain('Tag');

par

$this->Post->contain('Tag','Media');
zenkiai
Auteur

Merci beaucoup, cela fonctionne. J'essayais de mettre 'Thumb' au lieu de 'Media', c'est pour cela que ça ne fonctionnait pas.
Pourquoi d'ailleurs Media alors que dans ma fonction category, j'ai mis 'Thumb' et cela a fonctionné de suite ?

zenkiai
Auteur

D'ailleurs je viens de mettre aussi Media à la place de Thumb dans ma fonction category et cela fonctionne aussi !!
Arrghhhhhhhhhhhhhhhh !