Bonjour à tous,
j'ai un problème avec le plugin médias qui à première vue me parait vraiment pratique.

Tout dabord pour pouvoir utiliser Tynimce j'ai effectué ces modifs données par titanshift :

1- changer la ligne 20 de UploaderHelper comme celle ci:
$this->Html->script('/js/tinymce/tiny_mce.js',array('inline'=>false));

2- fusionner le dossier webroot du plugin avec le webroot de l'application

3- Supprimer la ligne 15 dans le fichier /js/tinymce/tiny_mce.js
" skin : "wp_theme", "

###############################

Mon Model

Ad

<?php 
class Ad extends AppModel {
    public $hasOne = array('Record', 'Criterium',);
    public $actAs = array(
            'Containable',
            'Media.Media',
        );

La méthode dans mon controller

AdsController

<?php
<?php
class AdsController extends AppController {
    //mes helpers
        //mes components
        //mon beforeFilter
/**
 * ADMINISTRATION
 * Affichage des annonces
 */
    public function admin_index(){
        $ads = $this->Ad->find('all');
                debug($ads);
        //$this->loadModel('Media.Media');
        //debug($this->Media->find('all'));
        //boucle des annonces + lien menu actif
        $this->set(array(
                    'ads' => $ads,
                    'ads_active' => 'active'
                    ));
    }
/**
 * ADMINISTRATION
 * Editer l'annonce sélectionnée
 */
    public function admin_edit($id = null){
        $this->helpers] = 'Media.Uploader';
        $this->Ad->id = $id;
        if ($this->request->is('get')){
            $this->request->data = $this->Ad->read();
        } else {
            if ($this->Ad->save($this->request->data)) {
                $this->Ad->Record->save($this->request->data);
                $this->Ad->Criterium->save($this->request->data);
                $this->Session->setFlash('Vos données ont étées mises à jour');
                $this->redirect(array('action' => 'admin_index'));
            } else {
                $this->Session->setFlash('Impossible d\'éditer l\'annonce !');
            }
        }
    }

Et donc au debug de $this->Ad->find('all'); j'obtiens les liaisons suivantes :

(int) 0 => array(
        'Ad' => array(
            'id' => '128',
            'name' => 'test2',
            'description' => '<p>ceci est un test de contenu</p>',
            'created' => '2012-07-02 18:09:44',
            'media_id' => '8'
        ),
        'Record' => array(
            'id' => '98',
            'name' => 'test',
            'address' => '6 rue du test',
            'ad_id' => '128'
        ),
        'Criterium' => array(
            'ca' => '4',
            'ce' => true,
            'ci' => true,
            'co' => false,
            'cu' => false,
            'ad_id' => '128'
        ),

Je n'arrive pas à comprendre pourquoi je ne vois pas les liaison 'Thumb'et 'Media', si quelqu'un à une idée ou besoin d'un complément d'informations, faites le moi savoir. J'ai vraiment besoin d'une réponse :) Merci !

4 réponses


elium
Auteur
Réponse acceptée

Bon, je viens de passer + de 18h sur un S manquant à un $actsAs .
Si quelqu'un connait un plugin sublime2 gérant la syntaxe de cakePHP qu'il me sauve svp, j'ai déjà sublimeLinter mais apparement ce n'est pas suffisant pour mon cas ...

elium
Auteur

Si quelqu'un à une réponse plus cakePHP like je suis preneur bien évidemment, en attendant je me dépanne en mergant les arrays comme suis, si ça peut être utile à qqun ..

dans mon controller

$this->loadModel('Media.Media');
        $medias = $this->Media->find('all');
        $results = $ads;
        $count = 0;
        foreach ($results as $ad)
        {
            $ad_id = $ad'Ad']'id'];
            $ad_medias = array();
            foreach ($medias as $media)
            {
                if ($media'Media']'ref_id'] == $ad_id)
                {
                    $ad_medias] = $media'Media'];
                }
            }
            unset($media);
            if (count($ad_medias) > 0)
            {
                $results$count]'Media'] = $ad_medias;
            }
            $count++;
        }

Salut, si tu savais le nombres d'heures que j'ai passé sur ce genre d'erreur !!
Malheureusement, je n'ai pas de soluce n'en plus pour remédier à ça avec Sublime 2.
Je travaille ma concentration ^^

elium
Auteur

Merci de compatire :D