Domanda

sto lavorando sull'aggiornamento mio progetto da CakePHP 1,2-1,3. Nel processo, sembra che la "magia" di routing per i plugin con cui un nome del controller (ad esempio: "ForumsController") corrispondente al nome del plugin (ad esempio: "forum") più automaticamente rotte verso la radice del URL plug-in (ad esempio, :. "www.example.com/forums" puntano al plugin "forum", controller "forum", azione "Indice")

Il messaggio di errore dato è la seguente:

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';
}
?>

In realtà, anche se ci si dirige verso "www.example.com/forums/forums" o "www.example.com/forums/forums/index", ottengo lo stesso errore esatto.

Devo esplicitamente impostare percorsi da ogni singolo uso plug-I? Questo sembra distruggere un sacco di magia che mi piace di CakePHP. Ho trovato solo che facendo le seguenti opere:

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

Impostazione 2 percorsi per ogni singolo plug-in sembra eccessivo, non è vero? C'è una soluzione migliore che coprirà tutti i miei plugin, o almeno ridurre il numero di rotte ho bisogno di impostare per ogni plugin?

È stato utile?

Soluzione

Credo, che argomento coperchi configurazione-e-applicazioni di avvio automatico che:

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

Anche dare un'occhiata a questo biglietto: http://cakephp.lighthouseapp.com/projects/42648/tickets/750-plugin-route-problem-when-acl-and-auth-components-used # ticket-750-5 (Torta 1.3 aveva magia rimosso plug-in delle vie aeree).

Altri suggerimenti

Non hai myplugin_app_controller.php in app / plugins directory / / myplugin.

basta creare un file contenente seguente:

<?php
class MypluginAppController extends AppController {

}
?>

E si avrà caratteristiche tutta la vostra del plugin. :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top