AJAX: различия между версиями
V0yager (обсуждение | вклад) (Новая страница: «Обработка AJAX запросов очень проста К примеру если нам надо получить таблицу с данными д…») |
V0yager (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
К примеру если нам надо получить таблицу с данными данные через ajax мы вызываем URL http://site.ru/tblplugin/tblcontroller/tblaction | К примеру если нам надо получить таблицу с данными данные через ajax мы вызываем URL http://site.ru/tblplugin/tblcontroller/tblaction | ||
и в tblactionAction() первым делом вызываем метод | и в tblactionAction() первым делом вызываем метод '''$this->useAjaxView();''' который отключает всё оформление и влючает вывод сырого содержимого | ||
Затем мы получаем данные таблицы из модели | Затем мы получаем данные таблицы из модели | ||
Строка 13: | Строка 13: | ||
$this->view->assign('table_data', $data); | $this->view->assign('table_data', $data); | ||
и отрисовываем TPL, содержащую таблицу в переменную шаблонизатора $content (при использовании | и отрисовываем TPL, содержащую таблицу в переменную шаблонизатора $content (при использовании useAjaxView именно эта перменная содержит в себе всё содержимое) | ||
$this->renderTplToContent('table.tpl'); функция renderTplToContent отрисовывает tpl найденную, | $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'); }