Быстрый старт
Настройка веб-сервера
Процесс настройки веб-сервера подробно описан в этом разделе.
Установка
Для начала установки необходимо скачать архив самой последней версии Deep-CMS и распаковать его в целевую директорию на сервере. Следуя указаниям инсталлятора Вы быстро завершите установку приложения.
Практика
Во время разработки и тестирования рекомендуется в административном разделе на странице глобальных настроек включить режим отладки, т.к. он очень подробно показывает что и где случилось. Вне зависимости от установленного режима, приложение продолжает логировать подробнейшие отчеты о всех выпадающих в процессе работы исключениях в application/logs/. Просматривать статистику событий можно на странице событий в административном разделе.
Темизация
В архиве доступна только одна тема шаблонов — default. Как создавать свои собственные темы шаблонов для сайта, смотрите в разделе Темизация.
В чем же простота Deep-CMS?
Для начала, создайте несколько меню. Создайте несколько узлов в дереве. Привяжите эти узлы к меню.
Кстати, узлы в дереве можно таскать мышкой — система сама предложит «прикрепить» узел к ближайшему в данный момент родителю. Так же с помощью перетаскивания узлов осуществляется и их сортировка.
Наигрались с деревом?
Не забудьте создать главный узел-страничку с урл равным «/», иначе при входе на сайт всегда будет выпадать сообщение о том что страница не найдена.
Да-да, Вы не ошиблись, главная страница сайта — это всего-лишь узел в дереве :)
Поиграем с выводом
view — это абстрактный статический класс, в котором есть много чего, но главное — в нем нет никакой шаблонизации. Напротив — тут происходит обычный стандартный require файлов. Прямо в файлах шаблонов можно совершенно спокойно вызывать все, что вам взбредет в голову. А если вдруг где-то при вызове внутри шаблона произошла ошибка, этот вывод не будет отправлен в браузер. Вместо него будет сгенерирована новая страница с красивым сообщением об ошибке и... всем, что вам взбредет в голову вызвать в шаблоне этой страницы.
Процесс попыток отрисовки (render tries) не бесконечен. В противном случае при получении специфичной для всех вызовов ошибки, мы бы ушли в бесконечный цикл попыток отрисовки.
Попыток всего две. После исчерпания попыток исключение будет перехвачено в unexpectedException::take(); который покажет стектрейс ошибки. Такое поведение конечно-же позволительно только в режиме отладки. В обычном режиме показывается коротенькое сообщение о «безнадежно» упавшем приложении.
Почему именно такая структура приложения?
Представьте — Вы рядовой php-разработчик. Все, что вы умеете, это — wordpress, joomla, «нарисовать» цикл вывода данных в шаблоне. Так вот и рисуйте спокойно шаблоны, создавайте любую структуру документов в дереве, и... лаконично выводите это в шаблон, и спокойно форматируйте вывод.
А как же модули? Контроллеры? Экшны?
Так, стоп, стоп — конечно же да! Все это тоже есть. Иногда ведь нужно и карту сайта показать и форму обратной связи реализовать. Да мало ли чего понадобиться может? Но это уже совсем другая история, которая требует обстоятельного подхода и углубления в суть дела.