Задать вопрос
@AlexSer

Yii2 как запустить action для модального окна?

Всем привет я новичок в Yii2 многое не понятно) поэтому могу задавать глупые вопросы.... Ребят подскажите как организовать запуск action.
Допустим у меня есть основная страничка с основным url www.test.ru/system - system основная страничка класса, т.е рендеринг происходит на actionIndex.
на system.php у меня есть панелька с кнопками, для примера возьмем три кнопки
<button id='zhurnal">Журнал<button>
<button id='status">Статус<button>
<button id='createZakupki">Закупка<button>

все три кнопки открывают модальные окна. Пока все данные в модальные окна поступают из одного actionIndex. Но мне хочется разгрузить Акшион.

Вопрос как сделать так чтобы запускались для каждой кнопки свой action?
Для запуска actionZhurnal надо чтобы произощел переход на system/zhurnal - > но тогда у меня теряется панелька c тремя кнопками.....
дублировать код панельки с js сриптами не охота.....думаю что надо копать в сторону URl manager.
Надеюсь объянил как мог...Подскажите плиз... В Идеале мне охота чтобы модальные окна хранились каждый в отдельном файле _modalZhurnal.php где был бы только дизайн в выводимыми данными, а сейчас у меня в все модальные окна прописаны в вьюшке system.php
если есть пример дайте ссылку) Всем спасибо!!! :D
  • Вопрос задан
  • 826 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@link_irk
<button id="zhurnal" data-url="/system/journal">Журнал<button>
<button id="status" data-url="/system/status">Статус<button>
<button id="createZakupki" data-url="/system/order">Закупка<button>


$('button[data-url]').click(function(e) {
  $.ajax({
    url: $(this).data('url'),
    type: 'get',
    dataType: 'html'
  }).done(function(response) {
    $('.modal-body').html(response);
  });
})


SystemController.php
// ...
public function actionJournal()
{
  return $this -> renderAjax('journal');
}
// ...
Ответ написан
@AlexSer Автор вопроса
А почему не работают js через renderAjax?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы