Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Загрузка данных из контроллера в новое окно


Recommended Posts

Всем привет!

 

Opencart 2.3.0.2.3

Есть ли возможность из контроллера загрузить данные из представления не только в текущее окно, а еще создать новое окно и загрузить туда другие данные ?

Надіслати
Поділитися на інших сайтах

Есть форма с кнопкой. При нажатии на кнопку отправляется POST-запрос.

Контроллер проверяет валидность введенных данных.

Если данные не прошли валидацию, то представление подгружается в тоже окно:

 

$this->response->setOutput($this->load->view('extension/module/my_module1', $data));

 

Если данные валидные, то нужно, чтобы представление опять же подгружалось в тоже окно, НО при этом создавалось еще одно в которое будет выводиться другое представление

$this->response->setOutput($this->load->view('extension/module/my_module1', $data));
$this->response->setOutput($this->load->view('extension/module/my_module2', $data));

 

Змінено користувачем johser
Надіслати
Поділитися на інших сайтах

11 часов назад, fanatic сказал:

может просто всплывающее окно?

Пробовал.

POST-запрос уходит на сервер. Контроллер его обрабатывает и возвращает некую переменную , указывающую на валидность данных. После чего в представлении идет проверка этой переменной и если данные валидны, то открывается всплывающее окно. Срабатывает блокировка браузера , а так бы не надо...

Я искал информацию по открытию нового окна именно из контроллера, но так и не нашел...

 

Пока что придумал немного костыльное решение:

1. Каждый раз при изменении полей формы, отправляется аякс-запрос в контроллер, идет проверка валидности и возвращается переменная.

2. Если данные валидны, то форме выставляется target="_blank". Таким образом при нажатии на кнопку форма уже "знает" валидные ли данные и если это так, то представление открывается в новом окне. А если нет, то в текущем.

3. Если представление открывается в новом окне, то текущему по идее тоже нужно отправить POST-запрос, но опять же основываясь на переменной, которую получили от аякс-запроса делаются необходимые правки на уровне js.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.