Как работает Ирокез 0.7
Сначала сервер получает GET запрос на адрес - .../ru/a/b/c/
Затем мод_реврайт перепишет его в вид - /?sys_lang=ru&path=a/b/c
Теперь в дело вступает загрузчик - /index.php
Сначала подключает необходимые файлы, затем анализирует $sys_lang и $path - это язык и путь, если язык не указан или не находится в списке существующих языков, то присваивается язык по умолчанию путь - это вложение разделов, т.е. a/b/c -по идее должен обращаться к разделу c, которые находится в разделе b, который в свою очередь находится в разделе a если такой раздел существует (разделами управляет класс ICM_Section) то у раздела узнается шаблон, шаблон передается на обработку шаблонизатору (класс ICM_TML), который выбирает из шаблона теги ({заключенные в фигурные скобки}) и выполняет соответствующие инструкции, самый главный тег - {content} это содержание страницы, т.е. на его место выводится основная изменяемая часть (статья, новости, галлерея, итд), у раздела узнается модуль, инструмент и скрипт, определено может быть только что то одно из них
- модуль - это совокупность скриптов, которые находятся в папке /modules/, они управляют данными и по сути составляют основу админки
- инструменты - это вспомогательные скрипты для модулей (например разные попап окощечки итд), находятся в папке /tools/
- скрипты - это то что будет выводить инфу из базы пользователя, посетителям сайта, находятся в /scripts/
Когда определяется что из этого имеется у раздела, то подключается соответствующий скрипт/модуль/инструмент и передается управление ему
Самый простой случай - это скрипт, тут может быть что угодно, самый простой скрипт -
Сойдет за скрипт и на месте {content} будет выводиться hello world
С модулем дело обстоит немного сложнее, модули должны быть написаны по общему шаблону, если конечно не хочешь написать свой шаблон модулей, что я лично делал только один раз
Но хорошая новость в том, что знать как работают модули совершенно не нужно, нужно только разобраться в одном XML файле - конфиге модуля, из него управляется всей работой модуля
Самая фишка ирокеза в том что модули создаются за пять секунд
Вот основные шаги:
- создание таблицы в БД
- создание (а точнее копирование) класса для работы модуля
- создание (а точнее копирование) модуля
- правка XML конфига
- дописывание языкового файла
После того как скрипт/модуль/инструмент закончат работу, весь текст который они выведут, будет поймат через отлов буферизации и вставлен обратно в шаблон на место тега {content}
Конфиг находится в /modules/имя модуля/configs/data.conf
В общем когда обработка шаблона закончится, загрузчик выведет его на экран.. но вот в общих чертах.. на там естесственно есть еще проверка на авторизацию, подгрузка конфигов, языковых файлови прочее
Если сайт простой, то разработчику всего лишь требуется, взять верстку сайта и сделать из нее шаблон, распихать что нужно (имею ввиду HTML код) по скриптам и расфасовать картинки по папочкам, чуть поправить основные конфиги.. все.
Если сайт с наворотами, тут придется дописать скрипты и добавить модулей, ну если совсем повезет, то немного повозиться с модулями.
P.S.: В идеале весь HTML должен быть отделен от программной части, т.е. весь HTML должен быть в шаблонах, к сожалению в ирокезе это не так... старания, конечно, ведутся, и в новой версии так и будет, но пока что куски HTML остались в обработчике шаблонов и скриптах