Q:

Symfony2 KnpMenuBundle children with dynamic parameters

Let's say I have a routing setup like that : 
users_list:
    pattern:  /users
    defaults: { _controller: AcmeBundle:User:list }

user_edit:
    pattern:  /user-edit/{id}
    defaults: { _controller: AcmeBundle:User:edit }

I would like to setup a menu like this

Home
--Users list
----User edition

But I'm not sure how to handle my route 'user_edit' with dynamic params "id".  Actually I don't want to display the link (which id ?),  but I would like the 'Users list' parent node to be active if I edit an user. 
I tried something like this
$userNode = $rootNode->addChild('Users list', array(
    'route' => 'users_list',
));
$userNode->addChild('User edition', array(
    'route' => 'user_edit',
));

Symfony complains about the missing parameter :(
Thanks ! 

A:

This setup should work if you want to show the links:
$userNode->addChild('User edition', array(
    'route' => 'user_edit',
    'routeParameters' => array('id' => $someParameter)
));

For setting the parrent node as active you could use a custom renderer, override the menubundle's template or just add active class to the menu item based on this condition:
{% if app.request.attributes.get('_route') == 'user_edit' %}
       {# activate parrent node #}
{% endif %}

A:

Found something usefull in my case, you're able to solve this using the request in your menu definition class : 
$userNode->addChild('User edition', array(
    'route' => 'user_edit',
    'routeParameters' => array('id' => $this->getRequest()->get('id'))
));

