Извините, все еще изучаю 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? Причина, по которой я спрашиваю, состоит в том, что это выглядит как дополнительный код, который был сделан проще в моем старом приложении Я вижу, что выполнение этого способа сделало бы данные более переносимыми, поскольку они могли бы использоваться различными виджетами.