2014-02-15 2 views
0

Я пишу расширение url_for, в котором будет проверяться, что у зарегистрированного пользователя есть соответствующие учетные данные для доступа к ссылке на маршрут до предоставления указанной ссылки.Определить действие для маршрута в Symfony 1.4

Я определил, как получить действие из модулей/строк действий и успешно проверить требуемые учетные данные. Но я не могу найти надежный способ получить соответствующее действие от имени маршрута, будь то именованный маршрут или один, полученный из сопоставления с образцом, например.

home/index => module: home, action: index 
@home  => module: home, action: index 

Я подозреваю, что мне нужно скопировать код из sfRouting, как я не могу найти публичный метод в Symfony, чтобы сделать это. Есть ли способ лучше?

+0

Обычно я хотел бы проверить в шаблоне, если пользователь имеет соответствующие полномочия перед визуализацией ссылки. Вы также можете оставить всю работу Symfony - позвольте пользователям щелкнуть ссылку, и он будет перенаправлен на страницу «несанкционированного доступа», если у них нет достаточных разрешений. –

+0

Как я могу проверить контроллер, если у меня есть правильные учетные данные, иначе я перенаправляю его на защищенную страницу. –

ответ

0

Я, как правило, просто использовать название маршрута для вещи, как это:

<?php $route = $sf_context->getInstance()->getRouting()->getCurrentRouteName() ?> 

<?php if ($route == 'home'): ?> 
    <p>hello</p> 
<?php endif ?> 
Смежные вопросы