Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Взаимодействие между экшенами
http://forum.kohanaframework.su/viewtopic.php?f=31&t=700
Страница 1 из 1

Автор:  keywoker [ 10 июл 2013, 22:53 ]
Заголовок сообщения:  Взаимодействие между экшенами

Привет всем. Имеется страница с кнопками редактирования записи и создания новой записи. Раньше действия этих кнопок были описаны в экшене для этой страницы. Хочу вынести действия кнопок в отдельный экшн. Как мне это организовать? кнопки ведь находятся на одной странице, а для экшена, я так понимаю отдельный вид нужен...Объясните, пожалуйста.

Автор:  WinterSilence [ 11 июл 2013, 00:42 ]
Заголовок сообщения:  Re: Взаимодействие между экшенами

Всё зависит от архитектуры контроллера, допустим в случае с примером из "коробочки" Controller_Template это не так.

Но проблема скорее в другом: обработка данных должна вестись в модели, контроллер просто передает в нее данные и потом передает результаты в вид. При таком подходе код контроллера будет легко читаемым и не придется при изменениях в модели переписывать и контроллер.

Если так хочется, то можно допустим вызывать из одного экшена другой:
Код:
public function action_index()
{
   if($this->request->param('delete'))
   {
      $this->action_delete();
   }
}

Автор:  Sergey [ 11 июл 2013, 20:03 ]
Заголовок сообщения:  Re: Взаимодействие между экшенами

WinterSilence писал(а):
Код:
public function action_index()
{
   if($this->request->param('delete'))
   {
      $this->action_delete();
   }
}



Или так:
Код:
public function action_index()
{
    if($this->request->param('delete'))
    {
        parent::action_delete();
    }
}
 

Автор:  WinterSilence [ 11 июл 2013, 21:06 ]
Заголовок сообщения:  Re: Взаимодействие между экшенами

Sergey> не не не, погоди, запутаешь так только

Автор:  Sergey [ 12 июл 2013, 15:33 ]
Заголовок сообщения:  Re: Взаимодействие между экшенами

:)

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/