Bonjour,

Voila je rencontre un petit problème avec mon code.

Je veux utiliser le plugin Media (iframe) avec un autre plugin mais je n'y arrive pas, il m'affiche cette erreur :

Dans le plugin que je suis en train de mettre en place :

1 dans le model "Content" :

public $actAs = [
'Media.Media'
];

2 Dans le controller : "ContentsController" :

public $components = ['Media.Media'];
public $helpers = ['Media.Media'];

3 Dans le view : admin_add

<?php echo $this->Media->iframe('Content',$this->request->data['Content']['id']); ?>

Ce que j'obtiens

Erreur
Le model Content n'a pas de comportement Media.
class Content extends AppModel{
public $actsAs = array('Media.Media');
}

1 réponse


Bonjour.
Si tu n'as pas fait d'erreur de frappe en nous recopiant ton code, c'est tout à fait normal étant donné que tu as marqué $actAs au lieu de actsAs.
Il n'est donc pas anormal que CakePHP n'ait pas fait le lien entre ton model Content et le comportement Media du plugin Media étant donné que tu n'as défini aucun comportement pour ton modèle Content.
De plus, n'oublies pas d'utiliser la syntaxe des plugin dans le helper, car le plugin Media risque de ne pas deviner que le modèle Content est situé dans un plugin.
Remplaces donc :

<?php echo $this->Media->iframe('Content',$this->request->data['Content']['id']); ?>

Par :

<?php echo $this->Media->iframe('NomDeTonPlugin.Content',$this->request->data['Content']['id']); ?>