В В symfony 1.4 вы можете определить собственный класс маршрута, в котором вы переопределяете генерацию URL с помощью пользовательской логики, например:
custom:
class: sfDoctrineRouteCollection
options:
model: Custom
prefix_path: /custom/category/:category_id
column: id
route_class: CustomDoctrineRoute
class CustomDoctrineRoute extends sfDoctrineRoute
{
public function generate($params, $context = array(), $absolute = false)
{
if (!isset($params['category_id'])) {
$params['category_id'] = sfContext::getInstance()->getRequest()->getParameter('category_id');
}
return parent::generate($params, $context, $absolute);
}
}
Это позволяет записать url_for ('custom_show', array ('id' => $ object [ 'id']))
и не беспокоиться о контекстно-зависимых параметрах (category_id).
Как вы подходите к этому - symfony2?