@raycheel

Как внедрить ajaxLink внутрь виджета CMenu?

Скажите пожалуйста, как внедрить ajaxLink в меню
<?php $this->widget('zii.widgets.CMenu',array(
    'items'=>array(
        array('label'=>'Home', 'url'=>array('/site/index')),
        array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),
        array('label'=>'Contact', 'url'=>array('/site/contact')),
        array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
        array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest) ),
    )); ?>


Сам ajaxLink выглядит следующим образом:
CHtml::ajaxLink('Вход', $this->createUrl('user/login'),
                  array('update' => '#exampleModal'),
                  array('id'=>'login-btn','class'=>'btn btn-success btn-md','onclick' => '$("#exampleModal").arcticmodal();')
                  );
  • Вопрос задан
  • 3046 просмотров
Пригласить эксперта
Ответы на вопрос 1
Zhuravljov
@Zhuravljov
php-программист
Попробуйте что-то типа:

<?php $this->widget('zii.widgets.CMenu', array(
    'items' => array(
        ...
        array(
            'label' => 'Вход',
            'url' => array('/site/login'),
            'visible' => Yii::app()->user->isGuest,
            'linkOptions' => array(
                'ajax' => array('update' => '#exampleModal'),
                'id' => 'login-btn',
                'onclick' => '$("#exampleModal").arcticmodal();',
            ),
        ),
        ...
    ),
)); ?>

И CMenu и CHtml::ajaxLink() на уровне кода используют CHtml::clientChange() который обрабатывает ajax-параметры.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы