Быстрая CMS
Обратная связь Карта сайта
Главная Создание сайтов Практика Строим CMS Наивное О проекте Блог

Плагины

Итак, все базовые функции CMS уже готовы. Она может формировать меню, выбирать содержание страницы, вставлять заголовки и мета-теги. Есть самое необходимое, пора заняться дополнениями.

Поскольку разработка ориентирована на простые решения, самые «ходовые» плагины проще всего привязать к алиасам разделов – это уже учтено в главном скрипте вывода. Если раздел помечен в признаках как плагин, скрипт подгружает из библиотечной директории дополнительный код из файла, имя которого соответствует алиасу раздела. То есть, некоторые алиасы разделов мы просто зарезервируем для установки плагинов. Никаких неудобств это не причинит – если нужен раздел с алиасом sitemap, но без установки плагина sitemap, можно просто не помечать этот раздел как плагин, а использовать как обычную страницу с обычным контентом.

Что же мы будем дописывать? Вообще к движку, построенному таким образом, можно добавить все, что угодно. Но для начала – самое нужное.

Первое, что нам потребуется – это автоматическое формирование карты сайта в виде двухуровневого списка разделов и подразделов. Карта необходима сайту, который имеет хотя бы два уровня вложенности разделов. Во-первых, для людей, которым удобнее искать что-то в списке разделов, а не кликать без конца по меню. Во-вторых, для индексирующих роботов поисковых систем, которые быстро отыщут по ней все закоулки сайта. А это залог того, что сайт будет проиндексирован быстро и полностью.

Во-вторых, нам не помешает лента новостей. Если быть совсем честным, то это не обязательная часть сайта. На многих сайтах ее может не быть, но некоторым она нужна. Поэтому добавим еще и новости. И если для генерации карты сайта нам достаточно существующего списка разделов, то новости нужно где-то хранить в своем формате – значит, потребуется еще одна структура данных для новостей.

Чего еще не хватает? Кто, так сказать, третьим будет? Конечно же, часто нужна страница обратной связи. Простая форма с отправкой сообщения на E-mail будет гораздо лучше, чем адрес, разбросанный по страницам на радость спамерам. Дополнительных структур данных этот плагин тоже не потребует

Ну, а четвертой позицией можем пристегнуть гостевую книгу. Не везде так уж нужен полномасштабный форум, во многих случаях хватит и гестбука. Конечно, придется добавлять еще одну структуру данных для хранения сообщений. И немного побеспокоиться о фильтрации – некоторые люди с хрумером наперевес могут довести до нервного срыва, если заранее не лишить их возможности разместить ссылочку.

На таком списке плагинов мы пока что и остановимся. Для начала хватит, а в перспективе нам никто не помешает наделать и больше. Теперь зарезервируем алиасы разделов для установки плагинов.

И еще одно примечание. Все эти плагины, кроме новостной ленты, используют базовый вывод движка. А значит, весь сгенерированный ими контент будет просто добавляться к контенту соответствующего раздела и выводиться в том же поле. Дополнительных переменных для вывода в шаблон не потребуется. Новостной плагин должен еще выносить анонсы новостей на главной странице (но вообще-то не обязательно на главной – вынос анонсов можно устроить и в другом месте).