Страница 1 из 1

MenuWidget как добавлять атрибуты к ссылке?

Добавлено: 2015.07.07, 14:51
Noobie
Возник вопрос по виджету меню.
У меня навигация выводится через Menu виджет. Понадобилось добавить в неё внешнюю ссылку и прописать для неё target='_blank'.
решение вопроса так и не нашел. Чтение доков вопрос не решило.
Для Nav::widget есть linkOptions, но как я понял этот виджет будут подключать bootstrap с его css и js, в моем случае такой вариант совсем не пригоден.
Через Menu::widget как-то решается, нет?

Re: MenuWidget как добавлять атрибуты к ссылке?

Добавлено: 2015.07.07, 15:20
vitalik1183
Покажите как вы делайте.

Re: MenuWidget как добавлять атрибуты к ссылке?

Добавлено: 2015.07.07, 15:25
Noobie
Да ничего необычного у меня

Код: Выделить всё

<?
                echo \yii\widgets\Menu::widget([
                    'items'=>[
                        ['label'=>'Главная', 'url'=>['/page/front/view', 'alias'=>'index']],
                        ['label'=>'Блог', 'url'=>['/blog/front/index']],
                        ['label'=>'Проекты', 'url'=>['/portfolio/front/index']],
                        [
                            'label'=>'Шатры и мебель',
                            'url'=>'http://any-another-site.ru',
                            'options'=>['id'=>'shater_li']
                        ],
                        ['label'=>'Контакты', 'url'=>['/page/front/view', 'alias'=>'contacts']],
                    ]
                ]);
            ?>
вот там где идет ссылка на any-another-site.ru, ей нужно прописать target='_blank'

Re: MenuWidget как добавлять атрибуты к ссылке?

Добавлено: 2015.07.07, 15:38
krosh87

Код: Выделить всё

    [
                            'label'=>'Шатры и мебель',
                            'url'=>'http://any-another-site.ru',
                            'options'=>['id'=>'shater_li', 'target' => '_blank']
                        ], 

Re: MenuWidget как добавлять атрибуты к ссылке?

Добавлено: 2015.07.07, 15:42
Noobie
нет. так не работает. options выставляет атрибуты для родительского тега li. Для самой ссылки, через options не добавляется ничего

Re: MenuWidget как добавлять атрибуты к ссылке?

Добавлено: 2015.07.07, 16:30
Onotole

Код: Выделить всё

<?
                echo \yii\widgets\Menu::widget([
                    'items'=>[
                        ['label'=>'Главная', 'url'=>['/page/front/view', 'alias'=>'index']],
                        ['label'=>'Блог', 'url'=>['/blog/front/index']],
                        ['label'=>'Проекты', 'url'=>['/portfolio/front/index']],
                        [
                            'label'=>'Шатры и мебель',
                            'url'=>'http://any-another-site.ru',
                            'options'=>[
                                'id'=>'shater_li',
                                'linkOptions' => [
                                    'target' => '_blank'
                                ]
                            ]
                        ],
                        ['label'=>'Контакты', 'url'=>['/page/front/view', 'alias'=>'contacts']],
                    ]
                ]);
            ?>

Re: MenuWidget как добавлять атрибуты к ссылке?

Добавлено: 2015.07.07, 16:36
Noobie
Тоже не то.
linkoptions работает если использовать yii\bootstrap\Nav::widget, при использовании \yii\widgets\Menu::widget, никакого эффекта не дает

Re: MenuWidget как добавлять атрибуты к ссылке?

Добавлено: 2015.07.07, 16:40
Noobie
а если использовать его как в данном примере, то к тегу li добавляется свойство linkoptions.
К тегу A не добавляется ничего

Re: MenuWidget как добавлять атрибуты к ссылке?

Добавлено: 2015.07.07, 16:40
Onotole
Noobie писал(а):Тоже не то.
linkoptions работает если использовать yii\bootstrap\Nav::widget, при использовании \yii\widgets\Menu::widget, никакого эффекта не дает
Да, точно.

Код: Выделить всё

<?
                echo \yii\widgets\Menu::widget([
                    'items'=>[
                        ['label'=>'Главная', 'url'=>['/page/front/view', 'alias'=>'index']],
                        ['label'=>'Блог', 'url'=>['/blog/front/index']],
                        ['label'=>'Проекты', 'url'=>['/portfolio/front/index']],
                        [
                            'label'=>'Шатры и мебель',
                            'url'=>'http://any-another-site.ru',
                            'options'=>[ 'id'=>'shater_li'],
                            'template' => '<a href="{url}" target="_blank">{label}</a>'
                        ['label'=>'Контакты', 'url'=>['/page/front/view', 'alias'=>'contacts']],
                    ]
                ]);
            ?>

Re: MenuWidget как добавлять атрибуты к ссылке?

Добавлено: 2015.07.07, 16:41
krosh87

Код: Выделить всё

    [
                            'label'=>'Шатры и мебель',
                            'url'=>['http://any-another-site.ru', 'target' => '_blank'],
                            'options'=>['id'=>'shater_li']
                        ],

Re: MenuWidget как добавлять атрибуты к ссылке?

Добавлено: 2015.07.07, 16:48
Noobie
таким способом к ссылке приписывается ?target=_blank. Но атрибут target не добавляется.

Re: MenuWidget как добавлять атрибуты к ссылке?

Добавлено: 2015.07.07, 16:50
Noobie
Onotole
Премного благодарен! :!: :!: :!:
работает как надо