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

Подскажите простой пример widget
http://forum.kohanaframework.su/viewtopic.php?f=31&t=722
Страница 1 из 1

Автор:  HunterNomad [ 12 авг 2013, 11:31 ]
Заголовок сообщения:  Подскажите простой пример widget

Доброго времени суток.
Братцы, подскажите простой пример widget (hmvc).
Почитал несколько примерав, но ничего не понял (туплю))))
За ранее спасибо.

Автор:  WinterSilence [ 12 авг 2013, 12:03 ]
Заголовок сообщения:  Re: Подскажите простой пример widget

Суть: получение контента контроллера через запрос.

Хэлпер: http://forum.kohanaframework.su/viewtopic.php?f=31&t=705#p4172

Задача: вывести блок с n-ым кол-вом последних новостей.
1. Создаем контроллер формирующий данный блок:
Код:
class Controller_News_Short extends Controller_Template
{
   public $template = 'news/short';
   public function action_index()
  {
      $limit = (int) $this->request->query('limit');
      // код получения новостей из базы
   }
}


2. В Виде в нужном месте добавляем виджет, массивом передаем GET параметры запроса:
Код:
<?php echo CMS::widget('news/short/index', array('limit' => 10))  ?>


3. Ну и создаем Вид виджета view/news/short.html

Автор:  HunterNomad [ 12 авг 2013, 14:21 ]
Заголовок сообщения:  Re: Подскажите простой пример widget

WinterSilence писал(а):
Суть: получение контента контроллера через запрос.

Хэлпер: http://forum.kohanaframework.su/viewtopic.php?f=31&t=705#p4172

Задача: вывести блок с n-ым кол-вом последних новостей.
1. Создаем контроллер формирующий данный блок блок:
Код:
class Controller_News_Short extends Controller_Template
{
   public $template = 'news/short';
   public function index()
  {
      $limit = (int) $this->request->query('limit');
      // код получения новостей из базы
   }
}


2. В Виде в нужном месте добавляем виджет, массивом передаем GET параметры запроса:
Код:
<?php echo CMS::widget('news/short', array('limit' => 10))  ?>


3. Ну и создаем Вид виджета view/news/short.html

Спасибо ;)
Удачных удач :D

Автор:  HunterNomad [ 12 авг 2013, 14:58 ]
Заголовок сообщения:  Re: Подскажите простой пример widget

Сорри, раз 5 перечитал, всеравно не понял.
А не сталкивались с таким примерам -
1. Делаем это (пример кода)
2. Затем это ....
И так далее.
Пусть это будет пример "Hello, World!"
Всеравно спасибо.

Автор:  WinterSilence [ 12 авг 2013, 15:18 ]
Заголовок сообщения:  Re: Подскажите простой пример widget

что конкретно не понятно? если совсем и все, то значит еще рано и надо дочитать уроки на этом сайте до конца

Автор:  HunterNomad [ 16 авг 2013, 13:22 ]
Заголовок сообщения:  Re: Подскажите простой пример widget

Вот, как вариант, нашел отвкт на свой вопрос - ...простой пример widget
Может кому поможет :D
Не понятно почему еще никто модуль не своял?

Автор:  WinterSilence [ 16 авг 2013, 16:18 ]
Заголовок сообщения:  Re: Подскажите простой пример widget

Пример, приведенный в ссылке, содержит ошибки, не пытайтесь его использовать "как есть".

Модуль особо не нужен, я использую специфический контроллер https://github.com/WinterSilence/parts- ... Widget.php + приведенный выше метод-хэлпер, ну и роут аналогичный конечно.

Цитата:
Чтоб пользователь не мог напрямую через url типа http://site.com/widget/MainMenu обратиться к виджету

Эту фишку стоит либо вообще убрать, либо сделать опциональной т.к. встраивание виджетов в другие сайты очень распространено - http://www.webasyst.ru/widgets/ . Кроме того, проще сразу вызвать исключение вместо $this->auto_render = FALSE; т.к. работа action в случае внешнего вызова всё равно вызовет ошибку.

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