No description, website, or topics provided.
HTML PHP Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
application
public
system
user_guide
.editorconfig
.gitignore
.htaccess
composer.json
contributing.md
index.php
license.txt
readme.rst
robots.txt

readme.rst

Webcomfort CMS

Webcomfort CMS - это простая система управления контентом.

Компоненты:

  • Codeigniter (базовый фреймворк)
  • PhpMyEdit (CRUD-генератор, сильно модифицирован)
  • PhpMorphy (полнотекстовый поиск)
  • CkEditor (редактор статей)
  • ElFinder (файловый менеджер)
  • Bootstrap 4 (CSS-фреймворк)
  • FontAwesome (иконки)
  • JQuery + JQuery UI (JS-фреймворк)
  • JsTree (генерация деревьев на JS)
  • Select2 (замена стандартных полей Select)
  • DropzoneJS (HTML5 загрузка файлов)

Версия

3.1.9 (по версии Codeigniter)

Установка

  1. Скопируйте все папки и файлы к себе на сервер.
  2. Поменяйте значение $config['base_url'] и $config['encryption_key'] (32 символа) на свои в файле /application/config/config.php
  3. Поменяйте значения переменных для БД в файле /application/config/database.php
  4. Поменяйте значение $config['cms_admin_email'] на свой email в файле /application/config/cms.php
  5. Без рабочих ключей для Recaptcha от Google вы не сможете авторизоваться в системе. Поменяйте значение для $config['cms_recaptcha_sitekey'] и $config['cms_recaptcha_secret'] на свои в файле /application/config/cms.php. Для этого вы должны получить свои ключи здесь https://www.google.com/recaptcha/ (требуется регистрация в Google), зарегистрировав ваш домен. Рекапчу выбирайте невидимую.
  6. Перейдите по адресу http://ваш-домен/admin/migrate чем запустите стартовую миграцию. Будут созданы требуемые для CMS таблицы в б/д, в таблицу пользователей будет внесен новый администратор с эл. почтой, указанной на 4-ом шаге.
  7. Если все прошло гладко, то после миграции вас перебросит по адресу http://ваш-домен/admin где вам необходимо воспользоваться функцией восстановления пароля.
  8. Используя ваш email и новый пароль вы можете войти в администраторскую часть и начать работать с базовым сайтом.

Краткое описание системы

  1. Вся маршрутизация завязана на три контроллера: admin, page и pub.
  • admin - вывод администраторской части
  • page - вывод страниц сайта
  • pub - для прямого вызова функций из моделей. Прямой http доступ разрешен только к функциям моделей с префиксом 'p_'. (прим. http://ваш-домен/model_name/p_function).
  • Есть еще контроллер sitemap, он вернет sitemap.xml
  1. За функциональную часть целиком отвечают модели. Их три вида:
  • 'adm_' - модели (модули) для административной части
  • 'mod_' - модели (модули) для страниц сайта
  • 'cms_' - модели со вспомогательной функциональностью или системные

Включено автокэширование, поэтому, если хотите его избежать, то не забудьте перед вашим запросом его отключить: $this->db->cache_off(); а потом включить обратно $this->db->cache_on();

  1. За вывод отвечают стандартные виды в папке views. Особенности:
  • Из вида может быть вызван модуль (т.е модель). Напр. <?php echo @module('имя_модели', array(массив параметров)); ?>
  • Из вида может быть вызван другой вид: <?php echo @view('имя_вида', array(массив параметров, типа data), 'имя языкового файла', 'путь к файлу внутри папки view'); ?>
  • Из вида может быть вызван параметр конфигурации: <?php echo @conf('метка'); ?>
  1. Так же как и в видах, вызов модуля может быть вставлен прямо в текст статьи или новости через админ и CkEditor. Напр. {@module имя_модели параметр параметр параметр@}
  2. Все настройки сайта, требующиеся сборщику вынесены в конфигурационный файл cms.php Администраторская часть целиком отдана во владение редакторам.
  3. Все файлы, доступные через http размещены в папке /public. Любые файлы вне этой папки - закрыты. Доступ к ним можно дать только через .htaccess или разместив их в /public.
  4. В данный момент в системе присутствует функциональность:
  • страницы и меню,
  • статьи и области статей,
  • баннеры,
  • фоны,
  • сквозные блоки,
  • языковые версии сайта,
  • поиск с учетом морфологии,
  • форма для контактов,
  • новости и рубрики,
  • фото и галереи,
  • администраторская часть каталога,
  • теги,
  • пользователи и группы,
  • CRUD генератор администраторского интерфейса,
  • корзина-лог.