Как использовать Router внутри скрипта? - PullRequest
2 голосов
/ 17 ноября 2011

У меня есть скрипт на app/vendors/shells, который периодически выполняется через cron.В этом сценарии я импортирую Router:

class AutosuggestFileShell extends Shell {
    var $uses = array('User','Country','City','Speciality','Alias');

    function main() {
        App::import('Core', 'Router');
        //...

Но сценарий не использует маршруты, которые я определил в routes.php.Например, я определил:

Router::connect('/plastic-surgeon/*', array(
    'controller' => 'users', 'action' => 'profile'
));

Но в скрипте строка:

'path' => Router::url(array(
    'controller' => 'users', 'action' => 'profile', $user['User']['slug']
))

не генерирует URL plastic-surgeon/slug - вместо этого генерируется URL users/profile/slug.

Router::url() отлично работает в разных точках сайта, например, в представлении для создания карты сайта.Поэтому я предполагаю, что мне нужно импортировать что-либо из сценария оболочки, или, возможно, невозможно загрузить данные, содержащиеся в routes.php, из сценария оболочки?

(я использую CakePHP 1.3)

1 Ответ

3 голосов
/ 17 ноября 2011

Если вы хотите импортировать маршруты, попробуйте

config('routes');
...