简体   繁体   English

如何使用yii2菜单小部件uikit设置数据属性

[英]How to set a data atributte with yii2 menu widget uikit

i'm working with yii2 and uikit. 我正在使用yii2和uikit。 i'm trying to build a navbar with the menu widget and i have this: 我正在尝试使用菜单小部件构建导航栏,我有这个:

<nav class='uk-navbar'>            
        <?php
        echo Menu::widget([
            'activateItems' => true,
            'activateParents' => true,
            'activeCssClass' => 'uk-active',
            'encodeLabels' => false,
            'items' => [
                ['label' => 'Inicio', 'url' => ['site/index']],
                ['label' => 'Juridico', 'url' => ['juridico/index']],
                ['label' => 'Pagos', 'url' => ['pagos/index']],
                ['label' => 'Universidades', 'url' => ['universidades/index']],
                ['label' => 'Usuarios', 'url' => ['usuarios/index']],
                ['label' => 'Planes', 'options' => ['class' => 'uk-parent', 'data' => 'uk-dropdown'], 'url' => ['#'], 'items' => [
                        ['label' => 'Planes Juridico', 'url' => ['#']],
                        ['label' => 'Planes Universidades', 'url' => ['#']],
                    ]],
                ['label' => 'Login', 'url' => ['site/login'], 'visible' => Yii::$app->user->isGuest],
            ],
            'submenuTemplate' => '<div class="uk-dropdown uk-dropdown-navbar"><ul class="uk-nav uk-nav-navbar">{items}</ul></div>',
            'options' => [ 'class' => 'uk-navbar-nav'],
        ]);
        ?>     
    </nav>

all i'm missing is this attribute but i don't know how to set it 'data-uk-dropdown' 我所缺少的只是此属性,但我不知道如何将其设置为“ data-uk-dropdown”

i need this result in order to the dropdown to work: 我需要此结果才能使下拉菜单正常工作:

<nav class="uk-navbar">
        <ul class="uk-navbar-nav">
            <li class="uk-active"><a href="">Active</a></li>
            <li><a href="">Item</a></li>
            <li class="uk-parent" data-uk-dropdown>
                <a href="">Parent</a>
                <div class="uk-dropdown uk-dropdown-navbar">
                    <ul class="uk-nav uk-nav-navbar">
                        <li><a href="#">Item</a></li>
                        <li><a href="#">Another item</a></li>
                        <li class="uk-nav-header">Header</li>
                        <li><a href="#">Item</a></li>
                        <li><a href="#">Another item</a></li>
                        <li class="uk-nav-divider"></li>
                        <li><a href="#">Separated item</a></li>
                    </ul>
                </div>
            </li>
        </ul>
    </nav>

Thanks in advance. 提前致谢。

have you try to add in the 'options' like below? 您是否尝试添加如下所示的“选项”?

<?php
    echo Menu::widget([
        'activateItems' => true,
        'activateParents' => true,
        'activeCssClass' => 'uk-active',
        'encodeLabels' => false,
        'items' => [
            ['label' => 'Inicio', 'url' => ['site/index']],
            ['label' => 'Juridico', 'url' => ['juridico/index']],
            ['label' => 'Pagos', 'url' => ['pagos/index']],
            ['label' => 'Universidades', 'url' => ['universidades/index']],
            ['label' => 'Usuarios', 'url' => ['usuarios/index']],
            ['label' => 'Planes', 'options' => ['class' => 'uk-parent', 'data' => 'uk-dropdown'], 'url' => ['#'], 'items' => [
                    ['label' => 'Planes Juridico', 'url' => ['#']],
                    ['label' => 'Planes Universidades', 'url' => ['#']],
                ]],
            ['label' => 'Login', 'url' => ['site/login'], 'visible' => Yii::$app->user->isGuest],
        ],
        'submenuTemplate' => '<div class="uk-dropdown uk-dropdown-navbar">    <ul class="uk-nav uk-nav-navbar">{items}</ul></div>',
        'options' => [ 
'class' => 'uk-navbar-nav',
'data-uk-dropdown' => ''
],
    ]);
    ?>   

I think this is how you can add data attributes same method would work in other Yii2 places. 我认为这是您可以添加数据属性的方法,该方法可以在其他Yii2地方使用相同的方法。 So you specify the key 'data' and then add an array of just the attribute names (without prefixing them with 'data'. You can read more about it here . 因此,您可以指定键“数据”,然后添加仅包含属性名称的数组(不以“数据”作为前缀)。您可以在此处了解更多信息

NavBar::begin([
    'options' => [
        'id' => 'main-nav-bar',
        'class' => 'navbar-inverse',
        'data' => ['my-attribute' => 'myValue'] // This line specifically.
    ],
    'innerContainerOptions' => ['class' => 'container-fluid']
]);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM