Bonsoir tout le monde,
Je continue mon apprentissage de cake et voilà que je suis bloqué dans l'utilisation des behaviors.
L'objectif de mon travail actuel est de faire un menu commun à toute les pages. Pour cela j'utilise les fichiers communs à l'application qui sont app_controlers.php et app_model.php
Mon problème : je n'arrive pas à récupérer les données d'un behavior (ici menu). Il me semble pourtant que j'ai repris les principes d'utilisation que j'ai pu trouver. Ci quelques chose ne vous semble pas normal, je vous remercie de me le signaler.
Je n'ai pas l'impression que le behavior "Menu" soit bien instancié dans mon model.
Si vous connaissez un tuto sur les behaviors je suis preneur.
Voici le contenu de mes différents fichiers que j'ai épuré pour qu'il ne reste que l'essentiel :
/app/app_controller.php
Code:
class AppController extends Controller
{
var $beforeFilter = array('loadMenu');
function loadMenu()
{
// $this->modelClassName->menuItems();
echo $this->{$this->modelClass}->menuItems();
}
}
/app/controllers/accueil_controller.php
Code:
class AccueilController extends AppController
{
var $name = 'Accueils';
}
/app/app_model.php
Code:
class AppModel extends Model
{
var $actsAs = array('Menu'=>array());
}
/app/models/accueil.php
Code:
class Accueil extends AppModel
{
var $name = 'Accueil';
var $useTable = false;
}
et enfin...
/app/models/behaviors/menu.php
Code:
class MenuBehavior extends ModelBehavior
{
var $useTable = false;
function setup(&$model, $settings = array())
{
}
function menuItems()
{
$aMenuItems = array('item1', 'item2', 'item3');
return $aMenuItems;
}
}
Merci pour votre aide.