воскресенье, 20 декабря 2009 г.

Конфигурация системы. Класс работы с настройками.

Любая система работает с некоторыми настройками. Если Ваша система не имеет параметров — она деревянная.
  • Ядру CMS нужны настройки;
  • Настройки нужно где-то хранить;
  • Настройки должны иметь удобочитаемый формат для правки, в экстренных случаях, руками;
  • Кроме ядра, параметры могут иметь и каждый модуль CMS;
  • Каждый имеющий параметры модуль, не должен заботиться о том, в каком виде хранятся параметры и где они хранятся;
  • Ядро должно предоставлять строго определенный интерфейс для работы с параметрами любого модуля и отдельно — работу со своими параметрами (на случай модуля настройки ядра).

Спасибо, КЭП.

Основные моменты ясны. Теперь нужно обсудить решение.

суббота, 19 декабря 2009 г.

Структура папок CMS. [Внеплановая заметка]

Я обещал следующей статьей начать цикл посвященный классам ядра системы. Цикл статей будет, и начнется со следующей статьи о хранении параметров системы. Но уже в середине процесса написания новой статьи, я вспомнил, что я не слова не сказал о структуре папок системы.

суббота, 12 декабря 2009 г.

Создание сайта

При создании сайта, закладывается некий смысл. Т.е. кроме тематики определяется структура сайта, его основной функционал.

Возможно, я что-то пропущу, но перечислив основные типы сайтов, Вы сможете понять о чем я.

  1. Визитка компании

    Сайт наполненный фирменным стилем компании или бренда. Сайт содержит общую информацию о компании или продукции. Много текста и минимум функционала для пользователя сайта.
  2. Каталог товаров

    Почти не суть важно откуда берутся (в системе) товары. Важно, что 2/3 навигации происходит именно по каталогу позиций.
  3. Специфические проекты

    Тут уже кто во что горазд.

Общая мысль у всего этого — каждый сайт имеет основное назначение. Каждый из них умеет хранить, к примеру, статические страницы, но всегда есть основной модуль который доминирует при использовании сайта.

пятница, 11 декабря 2009 г.

Ядро CMS. Поддержка языков в системе. Часть 2.

Когда мы говорим о ядре CMS то подразумеваем некую часть системы, которая выполняется при любом запросе. Исключение, когда включен полностраничный кеш -- тогда выборка из кеша может происходить на начальных этапах запуска системы и дальше управление просто не передается.

Итак, нам следует определиться с основой системы. Или это некий фреймверк (в моем случае, это CodeIgniter) или же система пишется полностью с нуля, но тогда следует все равно написать некоторый каркас. Я советую использовать любимый фреймверк, иначе придется написать довольно много рутинного кода.