11

Bootstrapが正しく動作するように、「現在の」クラスを「アクティブ」に変更する最良の方法は何ですか?

knp_menu_html.twig をコピーしてオーバーライドすることを考えましたが、最善の方法ではないと思います...

とにかくやったほうがいい?

4

2 に答える 2

25

すべてのアプリケーションにデフォルト オプションを適用するには、次のknp_menu.renderer.twig.optionsようにパラメーターを設定します。

// app/config/services.yml
parameters:
    knp_menu.renderer.twig.options:
        currentClass: active

のデフォルト オプションは次のKnp\Menu\Renderer\TwigRendererとおりです。

    $this->defaultOptions = array_merge(array(
        'depth' => null,
        'matchingDepth' => null,
        'currentAsLink' => true,
        'currentClass' => 'current',
        'ancestorClass' => 'current_ancestor',
        'firstClass' => 'first',
        'lastClass' => 'last',
        'template' => $template,
        'compressed' => false,
        'allow_safe_labels' => false,
        'clear_matcher' => true,
        'leaf_class' => null,
        'branch_class' => null,
    ), $defaultOptions);
于 2015-02-24T10:40:40.123 に答える
21

次のように渡すことができます。

{{ knp_menu_render('AcmeDemoBundle:Builder:mainMenu', {'currentClass': 'active'}) }}
于 2014-06-09T14:17:09.980 に答える