Это не претензия на статью, а, скорее наоборот, - попытка обсудить впечатления и попробовать докопаться до истины
Сразу оговорюсь - возможно, что я ошибаюсь в своих выводах/понимании сделанного ибо это следы буквально первого закапывания (так сказать, снятия верхнего слоя) во внутренности.
Поскольку меня джумла интересует прежде всего не с потребительской точки зрения, а с точки зрения разработчика, то я и полез ковыряться, что же там такого в ней не хватает
и как это можно к ней прикрутить
Итак, что мы имеем для девелоперов? А ни много ни мало, а MVC (*ЙЕСССС!*)
Ну и Framework, в котором изначально чорт ногу сломит
Замечательно? О ДА! Надеюсь, что теперь "поделок" от левых програмеров станет по-меньше, а качественных продуктов по-больше.
про FW разговор отдельный... то не тема, а ТЕМИЩЕ!
Я же хотел поговорить про MVC.
Что бы не повторяться, лучше дам ссылку:
MVCТеперь же по сути что и как реализовано в джумле 1.5:
Мы имеем некую сущность (слово "модель", думаю, лучше избегать, поскольку можно запутаться), которая определяет принцип отображении информации компонентом на фронте сайта. Именно MVC отвечает за это.
Я долго думал, как же представить view по-русски и решил пока это называть словом "шаблон". Если есть другие предложения - пожалуйста.
Суть элемента VIEW в конструкции MVC - конечное представление информации пользователю (отформатированное представление в HTML), т.е. то, как её будет видеть пользователь у себя в браузере.
MODEL - элемент, отвечающий за "модель", а точнее, - поведение шаблонов. Это наверное, не совсем понятно, потому объясню на "любимом" примере - com_content: мы имеем 4 модели (изначально созданных программистами джумлы)
1. Архив
2. Категория
3. Раздел
4. Главная страница
Эти модели отвечают за предварительный отбор информации из БД джумлы и подготовки её для вывода.
Соотвественно, VIEW - это набор шаблонов, которые эту информацию выводят на сайте.
У каждого шаблона может быть свой XML, позволяющий настраивать вывод информации одного и того же шаблона
(правда здорово?!!!!)
Благодаря этому XML можно настраивать различный вывод одной и той же информации на каждый пункт меню в ОТДЕЛЬНОСТИ. И это при том, что файл шаблона может быть одним и теже(!!!)
Иными словами, все упирается в меру распущенности девелопера, создающего этот шаблон.
Что еще примечательно, это то, что так же в настройках пункта меню доступны глобальные параметры самого компонента (их тоже можно использовать).
Вам не нравица дефолтовый вывод? Создайте свой!!! И не надо ничего хакать!
Ну и пару слов про CONTROLLER.
Собссно - это главный обработчик Компонента на фронте. Пока мне более сказать вам про него нечего ибо оно как раз вам меньше всего надо
зы. это пока все. если кому интересно - мона поговорить детальнее иба тема забавная и не маленькая.