2010-01-24 2 views
2

Я искал многие библиотеки шаблонов, som У меня есть справедливая неразбериха в общей идее, что там готово для загрузки/использования и что я хочу использовать, так что, возможно, вы могли бы помочь меня с этим.Автозагрузка модульности/виджетов в PHP, CodeIgniter/Kohana

В настоящее время я изучаю CodeIgniter, думая о переходе в Кохану позже. Я хотел бы включить контроллеры/модули (/ функция модуля, возможно?), Основываясь на потребностях шаблона/сайта.

Пример, так что вы бы поняли: У меня есть XML определенные страницы сохраняются в MySQL, в котором говорится, что в
<div id="sidebar">, я хочу использовать панель новостей/виджет - что-то вроде:
<div id="sidebar">{widget:news;3;60}</div>.

Я ищу шаблона синтаксического анализа и/или способ сделать это, так что в основном приложении I загрузки страницы, а затем шаблон. затем я просматриваю, какие страницы/шаблоны модулей/виджетов используют и загружают их динамически, передают их параметры (в примере новости, 3; 60 - новости модуля, 3 последних, 60 символов) и echo их результат вместо того, где i называли их.

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

Другие проблемы в моем сознании: я думаю, что было бы лучше иметь все модули за один раз (не загружать их там, один здесь), поэтому я могу получить доступ к базе данных на одном месте и т. Д.

Я вроде потерял и, возможно, кто-то будет иметь некоторое представление для меня :)

ответ

2

двух лучших способов сделать это являются:

  1. Используйте мой CodeIgniter Dwoo implementation и построить плагины
  2. Используйте wiredesignz 'Widget plugin

Возможно, вы можете использовать плагины Smarty, но yuck, который все еще использует Smarty?

Помните при создании Dwoo плагин, что экземпляр CodeIgniter доступен любой PHP загружен в этих просьбах, так кастрированный баран его Dwoo плагин, модификаторы, блоков и т.д., вы всегда можете использовать:

$CI =& get_instance(); 
$CI->load->model('something'); 
//etc 
+0

Спасибо, Фил, заглянем в это (позже ...: D) - оба могут быть реализованы в Кохане? –

+0

К сожалению, Кохана больше не просто вилка CodeIgniter. Это похоже на то, что код CodeIgniter работает в CakePHP без каких-либо изменений - невозможно. Тем не менее, это не требует большой настройки. –

+0

Тем не менее, переход с помощью опции Dwoo означает, что вы можете построить большую часть своего кода в виде плагинов/блоков Dwoo, которые будут намного проще, если вы переключите рамки вниз по линии. –

0

Если вы» используя Kohana3, вы можете использовать возможности HMVC. Быстрый способ - создать вспомогательный класс, который вы можете использовать в своих представлениях. По вашему мнению, вы затем обращаетесь к этому помощнику. Этот помощник начнет новый запрос, который вызовет правильный контроллер/действие.

В Kohana-форумах есть какой-то вид-класс, но для использования виджета требуется класс для виджета вместо использования (уже существующих?) Контроллеров через возможности HMVC Kohana3.

+0

Хм ... реализация виджета CodeIgniter может быть легко реализована и в Кохане. –

+0

Когда-нибудь мне нужно будет это проверить. Я никогда не использовал CodeIgniter, кроме того, проверяя его на день или около того. – SpadXIII

Смежные вопросы