Yii. HTML в контроллере. - PullRequest
       6

Yii. HTML в контроллере.

0 голосов
/ 28 февраля 2012

Извините, все еще изучаю Yii, так что вопрос новичка.

У меня есть сайт, который я конвертирую в Yii из системы, которую я написал. У меня вопрос: должен ли элемент управления генерировать HTML и передавать его в представление, или я должен написать виджет для генерации HTML, а элемент управления просто отформатировать данные?

Код, о котором я говорю, генерирует подстраницы на главном сайте, такие как плагин Quick Dial в Firefox. Я знаю, что запросы к БД должны выполняться в элементе управления, но оттуда я не уверен насчет разделения.

Я склонен к созданию в контроллере объекта, который имеет данные для создания страниц, такие как: (не фактические данные, а просто визуальное представление)

$tabs->pageID ->array( pageTile -> 'test title'
                       PageNumber -> '1'
                       pageItems -> array( row1 -> array(
                                                          ->item[1] -> array( linkTitle -> 'link Title'
                                                                              link_Image -> 'image1.jpg'
                                                                              linkUrl -> 'http://mylinkurl.com'
                                                                             )
                                                          )
                        )

Затем создайте виджет, который использует этот блок данных и форматирует его для отображения.

Это правильный способ работы в фреймворке Yii? Причина, по которой я спрашиваю, состоит в том, что это выглядит как дополнительный код, который был сделан проще в моем старом приложении Я вижу, что выполнение этого способа сделало бы данные более переносимыми, поскольку они могли бы использоваться различными виджетами.

Ответы [ 2 ]

1 голос
/ 28 февраля 2012

Ваше предложенное решение ИМХО является верным способом.

0 голосов
/ 29 февраля 2012

вы должны использовать виджет, если контент является частью вашей веб-страницы, чтобы вы могли использовать его в других местах.

Вам также следует попробовать частичные файлы рендеринга, но они предназначены для конкретного контроллера.

Так что решайте, какой способ использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...