AJAX: различия между версиями

Материал из GLENN CMS WIKI
Перейти к навигации Перейти к поиску
(Новая страница: «Обработка AJAX запросов очень проста К примеру если нам надо получить таблицу с данными д…»)
 
Нет описания правки
Строка 3: Строка 3:
К примеру если нам надо получить таблицу с данными данные через ajax мы вызываем URL http://site.ru/tblplugin/tblcontroller/tblaction
К примеру если нам надо получить таблицу с данными данные через ajax мы вызываем URL http://site.ru/tblplugin/tblcontroller/tblaction


и в tblactionAction() первым делом вызываем метод контроллера $this->getAjaxView();  который отключает всё лишнее оформление и влючает вывод сырого содержимого
и в tblactionAction() первым делом вызываем метод '''$this->useAjaxView();''' который отключает всё оформление и влючает вывод сырого содержимого


Затем мы получаем данные таблицы из модели  
Затем мы получаем данные таблицы из модели  
Строка 13: Строка 13:
$this->view->assign('table_data', $data);
$this->view->assign('table_data', $data);


и отрисовываем TPL, содержащую таблицу в переменную шаблонизатора $content (при использовании getAjaxView именно эта перменная содержит в себе всё содержимое)
и отрисовываем TPL, содержащую таблицу в переменную шаблонизатора $content (при использовании useAjaxView именно эта перменная содержит в себе всё содержимое)


$this->renderTplToContent('table.tpl'); функция renderTplToContent отрисовывает tpl найденную, вызванной ей функцией [[renderTpl]] в переменную smarty $content
$this->renderTplToContent('table.tpl'); функция renderTplToContent отрисовывает tpl найденную, c помощью функции [[renderTpl]] в переменную smarty $content
 
function tblactionAction() {
      $this->useAjaxView();
      $data = $this->model->getTableData();
      $this->view->assign('table_data', $data);
      $this->renderTplToContent('table.tpl');
}

Версия от 15:27, 26 февраля 2013

Обработка AJAX запросов очень проста

К примеру если нам надо получить таблицу с данными данные через ajax мы вызываем URL http://site.ru/tblplugin/tblcontroller/tblaction

и в tblactionAction() первым делом вызываем метод $this->useAjaxView(); который отключает всё оформление и влючает вывод сырого содержимого

Затем мы получаем данные таблицы из модели

$data = $this->model->getTableData();

Передаём их в шаблон

$this->view->assign('table_data', $data);

и отрисовываем TPL, содержащую таблицу в переменную шаблонизатора $content (при использовании useAjaxView именно эта перменная содержит в себе всё содержимое)

$this->renderTplToContent('table.tpl'); функция renderTplToContent отрисовывает tpl найденную, c помощью функции renderTpl в переменную smarty $content

function tblactionAction() {
     $this->useAjaxView();
     $data = $this->model->getTableData();
     $this->view->assign('table_data', $data);
     $this->renderTplToContent('table.tpl');
}