Bonjour à tous, je ne veux pas vous importuner avec ce problème qui doit être minime, mais j'ai un problème avec le plugin média lors de la création de l'iFrame.
Je m'explique, je suis le déroulé du tutoriel de Grafikart sans soucis, mais à la création de l'iframe j'ai ce message qui apparaît:

Voilà le message en entier:

Warning (2): Missing argument 2 for MediasController::index() [APP\Plugin\Media\Controller\MediasController.php, line 26]

Je vous laisse le code de mon actualiteController.php

function index(){
    $actualites = $this->Actualite->find('all');
    $this->set(compact('actualites'));
}

Celui de mon AppController.php

public $helpers = array('Text', 'Form', 'Html', 'Session','Cache', 'Media.Media');
public $components = array('Session', 'Auth');

public function canUploadMedias($model, $id){
    return true;
}

Celui de mon Model Actualite

public $actsAs = array('Media.Media');

Et voilà enfin la méthode index du controller en question au début:

public function index($ref,$ref_id){
        if(!$this->canUploadMedias($ref, $ref_id)){
            throw new ForbiddenException();
        }
        $this->loadModel($ref);
        $this->set(compact('ref', 'ref_id'));
        if(!in_array('Media', $this->$ref->Behaviors->loaded())){
            return $this->render('nobehavior');
        }
        $id = isset($this->request->query'id']) ? $this->request->query'id'] : false;
        $medias = $this->Media->find('all',array(
            'conditions' => array('ref_id' => $ref_id,'ref' => $ref)
        ));
        $thumbID = false;
        if($this->$ref->hasField('media_id')){
            $this->$ref->id = $ref_id;
            $thumbID = $this->$ref->field('media_id');
        }
        $extensions = $this->$ref->medias'extensions'];
        $editor = isset($this->request->params'named']'editor']) ? $this->request->params'named']'editor'] : false;
        $this->set(compact('id', 'medias', 'thumbID', 'editor', 'extensions'));
    }

Par contre dans mon administration, dans ma méthode édit lorsque j'essaie d'implémenter tinymce j'ai bien les boutons qui apparaissent pour ajouter une image. Lorsque je clique dessus le cadre iframe apparait bien mais sans méthode d'erreur cette fois. Par contre le drag and drop ne marche pas, et le bouton parcourir reste inactif!?

Voilà j'espère que vous aurez une solution à mon problème. Je me doute que ça ne doit pas être grand chose, mais je bloque totalement et cela me frustre grandement.

Merci d'avance, et merci encore à Grafikart pour tous ces tutos.

4 réponses


Tu peux me montrer le code qui appelle l'iframe et le code de ton action ?

ruben66
Auteur

Oui pas de soucis.

L'appel de l'iFrame

<?php echo $this->Media->iframe('Actualite', $actualites'Actualite']'id']); ?>

Et l'action index de mon controleur actualites

public function index(){
    $actualites = $this->Actualite->find('all');
    $this->set(compact('actualites'));
}

Voilà. Encore merci.

ruben66
Auteur

Bon en fait ça marche dans ma partie administration lorsque je charge par

<?php echo $this->Media->tinymce('content',array('label' => 'Contenu', 'type' => 'textarea')); ?>

Je pense que ça doit sûrement venir des navigateurs qui sont plutôt vieux là ou je développais tout à l'heure. Par contre je ne comprends toujours pas mon erreur lors de l'appel de l'iframe.

Cette erreur indique qu'il manque l'ID. Un id est-il bien défini quand tu appelles ton iframe ? Si non, il faut faire un systeme de brouillon.