Pergunta

Estou trabalhando para atualizar meu projeto do CakePHP 1.2 para 1.3. No processo, parece que o roteamento "mágico" para os plugins pelo qual um nome de controlador (por exemplo: "ForumsController") corresponde ao nome do plug -in (por exemplo, "fóruns") não é mais rotas automaticamente para a raiz do URL do plug -in (por exemplo, : "www.example.com/forums" apontando para plugin "Fóruns", fóruns do controlador ", ação" índice ").

A mensagem de erro dada é a seguinte:

Error: ForumsController could not be found.

Error: Create the class ForumsController below in file: app/controllers/forums_controller.php

<?php
class ForumsController extends AppController {
    var $name = 'Forums';
}
?>

De fato, mesmo que eu navegue para "www.example.com/forums/forums" ou "www.example.com/forums/forums/index", recebo o mesmo erro exato.

Preciso configurar explicitamente rotas para todos os plug -in que eu uso? Isso parece destruir muito da magia que eu gosto no CakePhp. Eu só descobri que fazer os seguintes trabalhos:

Router::connect('/forums/:action/*', array('plugin' => 'forums', 'controller' => 'forums'));
Router::connect('/forums', array('plugin' => 'forums', 'controller' => 'forums', 'action' => 'index'));

Configurar 2 rotas para cada plug -in parece um exagero, não é? Existe uma solução melhor que cobrirá todos os meus plug -ins, ou pelo menos reduzirá o número de rotas que preciso configurar para cada plug -in?

Foi útil?

Solução

Eu acho que esse tópico Configuração e aplicação-Bootstrapping cobre isso:

App::build(array(
    'plugins' => array('/full/path/to/plugins/', '/next/full/path/to/plugins/')
));

Dê uma olhada também neste bilhete: http://cakephp.lighthouseapp.com/projects/42648/tickets/750-plugin-rute-problem-when-acl-and-auth-components-used#ticket-750-5 (O bolo 1.3 removeu rotas de plug -in mágicas).

Outras dicas

Você não tem myplugin_app_controller.php no seu diretório/app/plugins/myplugin.

Basta criar um arquivo contendo seguidores:

<?php
class MypluginAppController extends AppController {

}
?>

E você terá todos os recursos do seu plugin. :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top