Контроллер шаблона Kohana, нет автоматического рендеринга - PullRequest
0 голосов
/ 18 января 2012

У меня есть контроллер (Controller_Product), который расширяет Controller_Template. В Controller_Product у меня есть некоторые действия (создание, редактирование и т. Д.), В которых мне нужно визуализировать шаблон, но некоторые действия (например, сохранение, удаление) должны возвращать объект json, поэтому мне не нужен шаблон для быть оказанным. Как я могу решить эту проблему?

Я могу установить для $ this-> auto_render значение FALSE в моем действии save или delete , но в этом случае также будет создан шаблон, даже если он не будет обработан. , Я думаю, что не очень элегантно загружать шаблон, когда он мне на самом деле не нужен.

Есть предложения?

1 Ответ

5 голосов
/ 18 января 2012

Возможно, что-то вроде этого:

public function before()
{
        if (in_array($this->request->action(), array('save', 'delete')))
        {
                $this->auto_render = FALSE;
        }

        parent::before();
}

[править]

Лучшим подходом может быть проверка запроса ajax:

public function before()
{
        if ($this->request->is_ajax())
        {
                $this->auto_render = FALSE;
        }

        parent::before();
}
...