Il y a une confusion dans votre compréhension.
ceci fonctionne

App::Import('Model''blocks.Block');

le pourquoi du comment de "blocks.Block" c'est parce que "blocks" est
un plugin.
et dit à cakephp de trouver le model parmi les "plugins"

Mais ce que je ne comprends pas c'est pourquoi je dois me faire cette
App::Import('Model','blocks.Block');
dans mon constructeur de mon controller blocks alors que d'autres n'en
ont pas besoin ...

ceci
$availables_blocks = $this->Block->getBlocks();

provoque l'erreur suivante

Notice (8): Undefined property:  BlocksController::$Block [APP\plugins
\blocks\controllers\blocks_controller.php, line 89]

la ligne 89 est $availables_blocks = $this->Block->getBlocks();

par contre si je fais

$availables_blocks = $this->BlockModel->getBlocks();

ca passe ...


Une idée ?

On 2 mar, 10:25, Lionel <[EMAIL PROTECTED]> wrote:
> bonjour,
>
> Il y a peut-être un problème avec les conventions de nommage ?
> majuscules, minuscules...
>
> Fichier modèle
> block.php
> Block extends AppModel
>
> Fichier Controleur
> blocks_controller.php
>
> Ta ligne de code semble montrer que les conventions ne sont pas utilisées :
> App::import('Model','blocks.Block');
> au lieu de :
> App::import('Model','Block');
> C'est une piste...
>
> foxmask a écrit :
>
> > Bonjour
> > chose curieuse que j'ai noté,
> > dans mon controller BlocksController je dois me faire obligatoirement
> > dans le constructor :
>
> >         App::import('Model','blocks.Block');
> >         $Bloc = & new Block();
> >    $this->BlockModel = $Bloc;
>
> > pour pouvoir utiliser $this->BlockModel->xxx dans les autres méthodes.
>
> > je voulais utiliser  $this->Block->xxx dans ces autres méthodes mais
> > cake me dit ne pas connaitre mon model :x
>
> > Pourtant pour d'autres controlleurs, il n'y a pas lieu de procéder
> > ainsi,
> > telles les classes générées par bake
>
> > comme par exemple la methode index du controlleur Calendar
>
> >    public function index() {
> >            $this->Calendar->recursive = 0;
> >            $this->set('calendars', $this->paginate());
> >    }
>
> > une idée sur ce phénomène ?
>
> > Cdt.
--~--~---------~--~----~------------~-------~--~----~

Groupe "Cakephp-fr".
Adresse : [email protected]
Pour résilier  : [EMAIL PROTECTED]
Pour les options : http://groups.google.com/group/cakephp-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à