delormejonathan / active-menu-bundle
一个基于当前bundle/controller/action获取活动类别的Symfony扩展
v1.0.17
2024-01-10 14:00 UTC
Requires
- symfony/framework-bundle: >=3.4
- twig/twig: >=2.10
README
安装
composer require delormejonathan/active-menu-bundle
public function registerBundles() { $bundles = array( new DelormeJonathan\ActiveMenuBundle\DelormeJonathanActiveMenuBundle(), );
在您的twig模板中使用
例如,如果您有这个操作 AppBundle\Controller\ElementsController::list
,您可以
获取当前bundle名称
{{ bundle_name() }} # returns App
获取当前控制器名称
{{ controller_name() }} # returns Elements
获取当前操作名称
{{ action_name() }} # returns list
控制器过滤器
它适用于完整路径和简短路径
<!-- classname is the string returned if controller matchs (you can replace it by 'active' or 'current') --> <li class="{{ 'AppBundle\Controller\ElementsController' | is_controller_active('classname') }}"></li> <li class="{{ 'Elements' | is_controller_active('classname') }}"></li>
操作过滤器
<!-- classname is the string returned if controller matchs (you can replace it by 'active' or 'current') --> <li class="{{ 'list' | is_action_active('classname') }}"></li>
控制器/操作组合过滤器
<!-- classname is the string returned if controller matchs (you can replace it by 'active' or 'current') --> <li class="{{ [ 'Elements::list' ] | is_action_active('classname') }}"></li> <li class="{{ [ 'AppBundle\Controller\Elements::list' ] | is_action_active('classname') }}"></li>