Url для actionColumn в gridView и pjax

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
yura1976
Сообщения: 134
Зарегистрирован: 2012.08.06, 13:24

Url для actionColumn в gridView и pjax

Сообщение yura1976 »

Здравствуйте!
Есть в админке раздел "Шаблоны", и есть "События" (вебинары). В gridview для шаблонов необходимо добавить кнопку со ссылкой на события. Контроллеры у событий и шаблонов у каждого свои.

Часть кода во вьюхе шаблонов

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

<h1>Шаблоны</h1>
    <p>
        <?= Html::a('Новый шаблон', ['create'], ['class' => 'btn btn-success']) ?>
    </p>
<?php Pjax::begin(); ?>
    <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            ..... ,
             'name:ntext',
	     [
                'class' => 'common\widgets\grid\ActionColumn',
                'template' => '{webinars} {view} {update} ',
                'buttons' => [
                    'webinars' => function ($url, $model, $key) {
                        $url = \yii\helpers\Url::to(['webinar/index','templateid'=>$model->id,'data-pjax' => false]);
                        $icon = Html::tag('span', '', ['class' => "fab fa-elementor"]);
                        return Html::a($icon, $url);
                    }
                ]
            ],
        ]
    ]); ?>
<?php Pjax::end(); ?>

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

    <h1>События</h1>
        <p> <?= Html::a('Новое событие', ['create'], ['class' => 'btn btn-success']) ?> </p>
    <?php Pjax::begin(); ?>
    <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            .....
            'name:ntext',
            ['class' => 'common\widgets\grid\ActionColumn'],
        ],
    ]); ?>
    <?php Pjax::end(); ?>
При переходе по ссылке webinar/index из gridview с шаблонами переход на нужную страницу вроде как осуществляется (url обновляется как нужно), обновляется содержимое внутри pjax, а вот все за пределами pjax (содержимое заголовка h1 и кнопка "добавить шаблон") остаются те же что и на странице с gridview с шаблонами. Полностью обновить содержимое можно только обновив страницу с мероприятиями.
'data-pjax' => false не помог.
Подскажите, пожалуйста, как решить проблему?
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Url для actionColumn в gridView и pjax

Сообщение rak »

data-pjax нужно не в url, а в параметры Html::a
yura1976
Сообщения: 134
Зарегистрирован: 2012.08.06, 13:24

Re: Url для actionColumn в gridView и pjax

Сообщение yura1976 »

rak писал(а): 2021.01.17, 14:10 data-pjax нужно не в url, а в параметры Html::a
Спасибо! Заработало как нужно
Ответить