Разработка движка Ivacms

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5
Загрузка...

Данная Cms разрабатывалась ещё с 2004 года исключительно для своих проектов в интернете, но в далёком 2007 году, я удачно внедрял её для клиентских сайтов. К сожалению многие сайты закрылись (более 100), хотя на тот момент они прекрасно работали, и давали трафик. Компания в которой я работал давным давно закрылась, и вместе с ней «ушли» все разработанные сайты. Сайты-визитки, интернет магазины,доски объявлений, каталоги ссылок, и другие проекты на различных CMS (Joomla, Shop-script, и своя естественно).

Мне всегда было интересно из чего состоит, и как работает любая CMS, это так же был один из ключевых моментов для разработки собственного движка.

На сегодняшний день я пользуюсь IVACMS очень редко, и исключительно для своих сайтов, а для клиентских проектов она совсем не подойдёт, если только для сайтов-визиток.

Почему?

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

Плюсы

  • Собственная разработка это всегда плюс для разработчика, во всяком случае для меня.
  • Нет лишнего в коде, не подгружаются лишние css стили и js скрипты. Сайты работают без jquery и дополнительных шрифтов
  • Быстрота работы. Были сайты с посещаемостью 50-60к в сутки, полёт нормальный
  • Как мне раньше казалось, поисковые системы лучше относятся к самописным движкам, нежили к Joomla и WordPress
  • Каждый модуль состоит из отдельных таблиц в БД, что существенно снижает нагрузку на Mysql. Например в WordPress все данные хранятся в одной таблице wp_posts

Архитектура

У меня всё довольно просто, есть папка с компонентом (модулем), состоящая из нескольких файлов(админка,fronted,а так же шаблон). Это не MVC, как например в движке Opencart, всё намного проще, и удобней с точки зрения разработки.

ООП

Больше 15 лет назад я не знал, что такое ООП, поэтому CMS разрабатывалась на простых функциях, с HTML шаблонами внутри этих функций.  Уже потом я начал переделывать каркас, а так же модуль с обычных функций на классы.

Как оказалось использование классов значительно удобней, во всяком случае можно избежать ошибку «cannot redeclare function», которая может встречаться при использование одинаковых функций в разных модулях или компонентах.

Это конечно же не единственный плюс использования классов, есть программисты которые по прежнему разрабатывают плагины на одних функциях, но это их личное дело, я же к этому отношусь вполне адекватно, и не призываю использования ООП. Каждому своё.

Редактор страниц

Для визуального редактирования текста (контента) я решил использовать плагин «FCKEditor»

Модули

Модулей в системе довольно много, но для разработки я решил остановиться лишь на каталоге, статичных страницах, галерея, и контакты.

Раньше использовал модуль баннеры, чтобы смотреть статистику переходов (страны, время,БОТЫ, и т.д), исключительно для собственного интереса, а так же управление рекламой на больших проектах. Таких проектов больше нет 🙂

Так же я использовал свой модуль статистики, так как Liveinternet вызывал подозрение с кол-вом посещений.

Основные модули

  • Управление шаблонами сайта
  • Управление общими настройками
  • Контент
  • Управление блоками
  • Новости или статьи
  • Обратная связь
  • Файловый менеджер
  • Создание меню
  • Управление блоками
  • Каптча
  • Xml карты сайта для улучшения индексации

Дополнительные модули

  • Видео
  • Фотогаллерея
  • FAQ
  • Гостевая книга
  • Интернет магазин
  • Создание Веб-форм
  • Гостевая книга
  • Статистика посещений

Системные требования

  • PHP 5 и выше
  • MYSQL 5 и выше
  • Extension Gd для работы с изображениями
  • Ffmpeg для работы с видео (Модуль видео)
  • Свободное место (15MB) + место для файлов

Внешний вид

Внешний вид очень прост, и разрабатывался из собственных интересов и удобства. Слева меню, справа контент.

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
*