CakePHP 3.6.14: представление представления (.ctp) в модале начальной загрузки - PullRequest
0 голосов
/ 03 марта 2019

Можно ли отобразить представление (например, add.ctp) в модале начальной загрузки ?И если да, то можно ли визуализировать только HTML в файле add.ctp без загрузки макета по умолчанию?

Потому что в настоящее время я пытаюсь создать пользовательскую форму, аналогичную той, что в файле add.ctp вчтобы отобразить его в модальном режиме, и очень трудно пытаться опубликовать и получить объекты json, чтобы отправить форму и заполнить таблицы в моем приложении.

1 Ответ

0 голосов
/ 03 марта 2019

Да, это возможно.

Создайте add.ctp в папке Ajax, например:

/Posts
  index.ctp
  /Ajax
  add.ctp

в Postings :: add (), установите макет Ajax и с помощью js get /Сообщения / добавить и сделать модальные.

Чтение:

https://book.cakephp.org/3.0/en/controllers/components/request-handling.html https://book.cakephp.org/3.0/en/views.html#layouts

РЕДАКТИРОВАТЬ:

в контроллере

public function add()
{
   // your code here ...
   if ($this->getRequest()->is('ajax')) {
       // render "add" view in Ajax folder and use "ajax" Layout
       $this->render('Ajax/add', 'ajax')
   }
}

https://book.cakephp.org/3.0/en/controllers.html#rendering-a-specific-template

РЕДАКТИРОВАТЬ 2 (часть jQuery) пример

<button type="button" data-toggle="modal" data-remote="<= $this->Url->build(/* ADD HERE YOUR PARAMS*/) 
 ?>" data-target="#myModel">Open Model</button>

$('body').on('click', '[data-toggle="modal"]', function(){
        $($(this).data("target")+' .modal-body').load($(this).data("remote"));
    });  
...