1. Осознание проблемы 
 • Обзор системы, которая у Вас есть после прохождения PHP2 
 • Примеры сайтов с бесконечной вложенностью страниц 
 • Бюджеты этих же сайтов 
 • Понимаем, что нам нужно и начинаем работать 
 2. Разработка системы с бесконечной вложенностью контент-страниц 
 • Хранение в БД иерархической информации 
 • Создание контроллера контент-страниц 
 • Кэширование url-адресов страниц 
 • Зачем же на самом деле нужна рекурсия 
 3. Ckeditor 
 • Что будет, если текст страниц редактировать из обычной textarea 
 • Где скачать и как подключить 
 • Создание Ajax-загрузчика изображений 
 • Добавление изображений в текст 
 4. Динамические меню 
 • Чем по жизни отличаются динамика и статика 
 • Создание таблиц для хранения меню 
 • Связь "многие ко многим" на практике 
 • Добавление возможности сортировки пунктов 
 • JqueryUI или как сделать адекватную сортировку 
 5. Обсуждаем возможности дальнейшего развития системы 
 Лента новостей, она же блог 
 • Загрузчик больших файлов на сервер 
 • Динамические галереи фотографий 
 • flash-проигрыватели музыки и видео 
 • Думаем, что нам ещё нужно для счастья 
 6. Галерея фотографий 
 • Передача картинок без перезагрузки страницы 
 • Drag & Drop 
 • Формирование галерей изображений 
 • Редактирование мета-информации изображений 
 • Сортировка изображений в галерее 
 7. Многоуровневые меню 
 • Ориентация на структуру страниц 
 • Выделение активных пунктов меню 
 • Разные способы вывода иерархического меню 
 • Сортировка страниц в дереве 
 8. Виджеты 
 • Кусок кода без базового шаблона 
 • Встраивание виджетов на сайт 
 9. Разделение прав доступа 
 • Роли, привилегии, пользователи 
 • Настройка доступа к методам контроллеров 
 • Настройка показа верхнего меню в зависимости от прав 
 10. Домашнее задание 
 • Постраничная навигация 
 • Валидация 
 • Фронт 
 • Плагин под CKEditor 
 • Блог 
 11. Разбор домашних работ 
 • Встраивание дз в CMS 
 • Исправление ляпов 
 • Оптимизация кода 
 • Обработка шорткодов для встраивания галерей в произвольное место контент-страниц 
 12. Создание идеальной модели 
 • Что такое идеальная модель 
 • Создание базового класса 
 • Обратный порядок валидации 
 • Правила расширения 
 13. Универсальный модуль поиска 
 • Карта поиска 
 • Динамическая генерация условий поиска 
 • Шаблоны для вывода результатов 
 • Наслаждение результатом 
 14. Выбор шаблона страницы 
 • Зачем уметь подключать разные шаблоны 
 • Внутренний шаблон vs внешний шаблон 
 • Подключение шаблонов 
 15. Редактирование контента с фронта 
 • Почему заказчики хотят этого 
 • Идентификация полей для редактирования 
 • Пишем плохой код 
 
  16. Загрузка больших файлов на сервер 
 • Почему не пройдёт обычный способ 
 • Идея загрузки по частям 
 • Допиливаем и внедряем после семинара