2012-03-26 9 views
2

app/pluginsにCakeDC-Usersプラグインを追加しました。プラグインを追加した後のcakephpルーティングの問題

http://example.com/の場合、ホーム/インデックスのリンクをクリックすると、間違ってhttp://example.com/users/posts/indexにリダイレクトされますが、それはhttp://example.com/posts/indexになります。

プラグインの「ユーザー」は、それぞれのコントローラの前に常に追加されるのはなぜですか?

私はCakeDC-ユーザーはアプリ/プラグインからプラグインを削除し、bootstrap.phpのからその行CakePlugin::loadAll();を削除した場合、その後、私は通常のリンク/ルート

routes.phpの取得方法:

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

を私はその問題を修正することができますか?CakeDC-Usersプラグイン

答えて

2

それはプラグインのアクセス方法です。あなたはこれをアプリに行われます、カスタムルートこのよう

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

を定義することができます/コンフィグ/ routes.phpの

それがリンクの問題のためである場合は、明示的に指定する必要があります

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

しかし、私はカスタムルーティングを好むでしょう。

詳細情報については、あなたは常にすべてのリンクで=> falseを私は明示的に「プラグイン」を記述する必要がありませんCookBook

+0

に潜入することができますか? ); – shibly

+0

@prime yes、もしあなたが ''あなたがいないなら、私はこれをroutes.phpに入れておきます。Router :: connect( '/'、array( 'controller' => 'posts'、 'action' => 'index'経路を定義するには、明示的にplugin => falseを定義する必要があります。プラグインの外にいる場合は問題ありませんが、プラグインの中を移動すると、そのリンクには問題があります。 –

+0

すべてのリンクに対して 'plugin' => falseを手動で追加しないようにする方法はありますか? – shibly

関連する問題