2012-03-26 6 views
2

Ich habe hinzugefügt CakeDC-Users Plugin in app/plugins.CakePHP Routing-Problem nach dem Hinzufügen eines Plugins

Jetzt für http://example.com/, wenn ich den Home/Index-Link klicke, wird es fälschlicherweise an http://example.com/users/posts/index weitergeleitet, aber es sollte http://example.com/posts/index sein.

Warum wird das Plugin 'Benutzer' immer vor dem jeweiligen Controller hinzugefügt?

Wenn ich die löschen CakeDC-Benutzer-Plugin von app/Plugin und löschen Sie diese Zeile CakePlugin::loadAll(); von bootstrap.php dann i normalen Link/route

routes.php erhalten:

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

Wie kann ich das Problem beheben Addin CakeDC-Users plugin

Antwort

2

Das ist der Weg, wie Plugins zugegriffen werden. Sie können Ihre benutzerdefinierten Route auf diese Weise

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

Diese in app/Config/routes.php

getan wird festgelegt, ob es für Link Probleme ist, werden Sie explizit angeben müssen

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

Aber ich würde kundenspezifisches Routing bevorzugen.

Für weitere Informationen, können Sie immer in schleichen die CookBook

+0

Muss ich explizit ‚Plugin‘ schreiben => false in jedem Link? Ich habe dies in routes.php, 'Router :: connect ('/', Array ('Controller' => 'Beiträge', 'Aktion' => 'Index'));' – shibly

+0

@prime ja, wenn Sie nicht ' Um Routen zu definieren, musst du explizit plugin => false definieren. Es ist in Ordnung, wenn du außerhalb deines Plugins bist, aber sobald du im Plugin navigierst, werden diese Links fehlerhaft sein. –

+0

Gibt es eine Möglichkeit, das Hinzufügen von 'plugin' => false für alle Links zu vermeiden? – shibly

Verwandte Themen