delormejonathan/active-menu-bundle

一个基于当前bundle/controller/action获取活动类别的Symfony扩展

安装数: 10,034

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分叉: 1

开放问题: 0

类型:symfony-bundle

v1.0.17 2024-01-10 14:00 UTC

This package is auto-updated.

Last update: 2024-09-10 15:27:30 UTC


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>