2012-03-26 95 views
2

我在app/plugins中添加了CakeDC-Users插件。添加插件後cakephp路由問題

現在爲http://example.com/,如果我點擊home/index鏈接,它會錯誤地重定向到http://example.com/users/posts/index,但它應該是http://example.com/posts/index

爲什麼插件'用戶'總是添加在各自的控制器之前?

如果我刪除CakeDC,用戶可以從應用/插件插件,並刪除該行CakePlugin::loadAll();從bootstrap.php中,然後我得到正常的鏈接/路由

routes.php文件:

Router::connect('/', array('controller' => 'posts', 'action' => 'index'));

如何我可以修復這個問題插件CakeDC - 用戶插件

回答

2

這就是如何訪問插件的方式。您可以定義自定義路由這樣

Router::connect('/posts', array('controller' => 'posts', 'plugin' => 'users')); 

這將在應用程序完成/配置/ routes.php文件

如果是鏈接的問題,你必須明確指定

echo $this->Html->link('link', array(
           'controller' => '', 
           'action' => '', 
           'plugin' => false) 
        ); 

但我更喜歡自定義路由。

欲瞭解更多信息,可以隨時潛入CookBook

+0

我一定要明確寫入「插件」中的每一個環節=>假?我有這個在routes.php中,'Router :: connect('/',array('controller'=>'posts','action'=>'index'));' – shibly 2012-03-26 03:47:00

+0

@prime yes,定義路由,你必須明確地定義plugin => false。如果你在你的插件之外,那將是好的,但是一旦你在插件內部導航,那麼這些鏈接就會出錯。 – 2012-03-26 05:00:21

+0

有沒有辦法避免爲所有鏈接手動添加'plugin'=> false? – shibly 2012-03-26 05:59:03