Cotonti – гибкое решение различных задач, с открытым исходным кодом, бесплатное и надёжное. На данный момент Cotonti позиционирует себя как фреймворк (Content Management Framework, или сокращённо CMF), хотя по возможностям не уступает CMS (Content Management System).
С помощью этого фреймворка можно создавать быстрые и надежные сайты. В Cotonti серьёзно проработана система безопасности. Модульность + расширяемость и низкое потребление ресурсов способствуют тому, чтобы на крупных проектах можно было обойтись гораздо меньшими затратами.
Быстрый отклик, специфические функции плюс возможность использовать API позволяют создавать практически любой тип сайта. Разработка проекта не стоит на месте, сообщество активно развивает основную сборку от версии к версии.
Шаблонизатор Cotonti – это мощный инструмент в умелых руках, с помощью которого можно прямо в tpl файлах шаблона выводить логические условия (по принципу условных операторов), структурные блоки, обработчики. Также удобно выводить стандартные функции php с помощью простых конструкций.
Благодаря возможности использовать условные операторы и применять в качестве аргументов переменные и функции прямо в шаблоне, можно добиться гибкости и динамического вывода содержимого в зависимости от условий.
Хотите показать содержимое блока только гостям ? Без проблем. Хотите сделать кнопку красной только если есть новое сообщение ? Легко. Хотите менять цвет меню, или шапку в зависимости от времени суток? Не проблема. А может хотите сделать сюрприз для пользователя с определенным IP , например поздравить свою девушку с днем рождения прямо на главной, с признанием, на весь экран, но чтобы другие не видели ?Тоже без проблем.
И это только самое простое, что можно делать с помощью базовых возможностей Cotonti, благодаря которым ваш сайт может быть не как у всех, а такой каким хотите его видеть вы. Существует множество готовых расширений – модулей, плагинов, плюс новые можно делать самостоятельно, нужно лишь изучить базовые возможности. Примеров можно привести много, но ограничимся несколькими.
Кнопки поделиться в соцсетях – обычный атрибут, которым никого уже не удивишь, но мне захотелось сделать свой плагин, под свои задумки, чтобы он был легкий, не требовал подключения сторонних скриптов, не использовал изображений, мог легко изменяться внешне. Благодаря возможности создавать свои расширения, такой плагин уже готов, называется share, его особенность в том, что он настраивается с помощью css, имеет вышеописанные характеристики, а иконки подобраны с помощью шрифта, благодаря чему можно изменять фон, цвет, размер, добавлять свои стили.
Обработка внешних ссылок – это та еще проблема. Пока проект молодой, и наполняется самостоятельно, всё просто. Но как только появляются комментарии, или пользователи могут публиковать статьи, установлен форум, вот тогда и начинаешь задумываться об этом. В итоге появился плагин golink, который обрабатывает все ссылки в контенте налету, кодируя их и преобразовывая во внутренние. На форуме и комментариях просто обрабатывает, а в каждой статье есть возможность выбирать варианты (один из пяти), от прямых открытых, до модального окна с таймером.
Микроразметка рецептов – полезное и нужное дело, но при динамическом контенте не так просто сделать грамотно разметку в автоматическом режиме. Если для каждого элемента li для каждого ингредиента прописывать в визуальном редакторе itemprop=”ingredients”, то это занятие быстро надоест, я не говорю уже о том, что может что-то поменяться, а у вас сотни – тысячи страниц. Для таких целей был создан плагин разметки, который делает разметку налету, методом парсинга, не меняя код. Достаточно в редакторе взять блок в div, с нужным обрамляющим классом (для вставки по кнопке я создал плагин для CKEditor ).
Опять же повторюсь, это малая часть возможностей, которые скрыты в Cotonti, и благодаря которым можно делать любые наработки модульно совместимыми с самим движком, а значит на них распространяются все возможности (авторизация, пользователи и тд).
В официальный дистрибутив входит определенное количество плагинов, они не раскрывают всех возможностей. Однако это легко компенсируется установкой дополнительных плагинов и модулей.
Например автоматическая генерация пунктов меню для страниц, вставка рекламных блоков, вывод произвольного содержимого в шаблон. Наложение водяного знака, более гибкая работа с файлами и изображениями, галерея, кнопка скроллинга вверх вниз, открытие файлов или чего либо с таймером, все статьи пользователя в профиле – всё это есть, и еще много чего не описанного в этом посте.
Создание своей сборки – это еще одна важная особенность CMF Cotonti, которая появилась в более поздних версиях. Она позволяет создать полностью автономный дистрибутив, со своим набором плагинов и модулей, своим шаблоном, и при этом совместимость с официальным дистрибутивом не нарушается. В основе лежит ядро Cotonti. Таким образом можно создавать свои наборы файлов, со своим конфигуратором, при правильном применении это очень удобно. В сборке может быть только то что нужно, добавлены нужные модули и плагины, ненужные убраны. Можно сделать свой шаблон, оформить инсталятор.
Ключевая особенность Cotonti в том, что после того как его узнаешь получше, начинаешь познавать возможности, которых так не хватало в других, более раскрученных движках. Я уже не один год использую этот замечательный фреймворк. Рекомендую и вам познакомиться с ним поближе.