AJAX

Материал из GLENN CMS WIKI
Перейти к навигации Перейти к поиску

Обработка 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');
}


Либо можно сразу же отдать данные, не отрисовывая дополнительных TPL

function tblactionAction() {
     $this->useAjaxView();
     $data = $this->model->getTableData();
     $this->view->content = Zend_Json::encode($data);
}


Вызов AJAX диалога из JavaScript