- (Обновлено: ) Леонид Лепко
При создании сайта мы часто делаем выбор в пользу CMS. Давай попробуем разобраться, чем же обусловлен наш выбор, и как определиться с подходящим инструментом.
Предисловие
CMS сделали большой вклад в развитие веб-технологий. Несмотря на недостатки, их появление было неизбежным.
Управляющие системы зародились задолго до появления первых статичных сайтов, предоставляя пользователю свое главное преимущество – административный интерфейс, позволяющий проводить различные манипуляции с контентом, создавать разнообразные приложения, заниматься почтовой рассылкой либо просто редактировать текущую дату и время.
Споры об использовании CMS еще не окончены, но одно можно сказать точно – они идеально подходят под определённые нужды пользователя. Они позволяют абстрагироваться от технической части системы и уделять внимание исключительно административной работе, без потери времени на изучение различных средств программирования. Благодаря своей популярности и простоте они превратились в некий конвейер по выпуску шаблонных сайтов, но богатство выбора и самодостаточность CMS позволяют каждый проект сделать особенным.
Итак, мы начинаем серию статей, которые помогут вам по-новому взглянуть на уже полюбившиеся либо ранее не используемые системы управления контентом. Будут рассмотрены как коммерческие, так и free продукты.
Условно CMS можно классифицировать по следующим признакам:
- CMS узкого назначения
- многофункциональные
В свою очередь CMS узкого назначения можно разделить на основные категории:
1. Интернет-магазины
2. Форумы
3. Галереи
4. Блоги, дневники
В обзоре мы попробуем разобраться, что же делает CMS такими, какими мы их знаем, что и как можно улучшить в них. Рассмотрим технические моменты, а также заглянем в административную часть и выясним, какой набор опций может нам предоставить каждая из систем.
Панель управления OpenCart
Отметим некоторые интересные особенности OpenCart:
- Цена товара, налоги, стоимость доставки генерируются автоматически в зависимости от выбранных параметров товара.
- Безграничное количество дополнительных изображений для товара.
- Добавления видео и 3d роликов для товара.
- Многофункциональная система отчетов о продажах, товарах, покупателях и т.д.
- Встроенная поддержка популярных платежных систем (webmoney, robokassa..), также в сети есть множество модулей, расширяющих выбор.
- Наличие схем, дающих свободу действий в редактировании блоков сайта любой страницы.
- Многоязычность.
- Поддерживает интересное расширение vQmod. Принцип его работы заключается в следующем: можно создать любые изменения, которые вы хотите внести на сайт без необходимости править код. При подключенном vQmod файл с созданными изменениями будет загружаться первым, тем самым заменяя собой выбранные блоки сайта.
- Наличие библиотеки с множеством полезных функций, которые изначально не подключены, и их не видно в админпанели. Например, водяной знак для фото товаров, выгрузка товаров в YML, подключение модулей кэширования, вывод дополнительных показателей по товарам в его карточке и на странице категорий. Все это интегрируется с минимальными усилиями и вводом нескольких строк кода.
- Возможность редактировать практически любой блок сайта, включая и его теги, без необходимости поиска соответствующего шаблона и его нагромождения.
OpenCart качественно объединила простоту и минимализм, сделав ставку на юзабилити и быстродействие.
Определенно к минусам системы можно причислить отсутствие возможности добавления расширений через админчасть.
Все файлы дополнений должны копироваться через файловую систему прямо на диск. Однако это же добавляет гибкости системе. Дело в том, что OpenCart написана с использованием парадигмы программирования mvc.
Cправка
mvc (model, view, controller) позволяет разделить наше приложение на уровни:
Model. Уровень работы с данными. Производит все манипуляции по вставке, удалению, обновлению и выборке контента из баз данных, текстовых файлов и других источников хранения информации.
Controller. Здесь содержится вся логика сайта. Именно контроллер отвечает за обработку данных, которые ему вернула модель, либо же наоборот передачу обработанных данных с браузера (это может быть, например, заполненная вами форма регистрации) в модель на сохранение в базу. Контроллер отвечает за работу сайта и отдельных модулей в частности. Таких, как поиск по сайту, вывод новостей, комментирование, многоязычность и т. д.
View. Уровень отображения данных. Здесь и находится вся верстка сайта. View получает обработанные данные из контроллера и выводит их на экран. Важно понять, что на этом уровне не должно быть никакого кода, кроме html разметки и данных из контроллера.
Как это работает?
Открываем, например, страницу со списком новостей на сайте. Как всегда, первым у нас открывается файл index.(php, html, pl и т.д.), который определяет, какую страницу открыли и что нужно делать дальше. После этого он снимает с себя ответственность и вызывает соответствующий контроллер, который, в свою очередь, обращается к модели за списком новостей и после их обработки возвращает их в view, где они будут успешно предоставлены пользователю.
Важный момент: грамотно написанные при помощи mvc CMS работают гораздо быстрее и продуктивнее, чем CMS, имеющие беспорядочное и весьма не малое количество файлов (большая часть этих файлов зачастую не используется).
В итоге файловая структура такого приложения будет иметь следующий вид (на примере OpenCart):
Данная структура файлов позволяет быстро и просто расширить функционал системы под наши потребности, конечно, при наличии определённых навыков программирования. Благодаря этой возможности существует множество платных и бесплатных дополнений под OpenCart, которые легко модифицируются.
Вывод
OpenCart будет лучшим выбором для создания интернет-магазина, если отбросить страх работы с ее структурой и кодом, вооружиться терпением и освоить минимальные навыки программирования.
Через некоторое время вы увидите, что вся ваша работа сведётся к простому копированию/вставке и небольшому форматированию кода, а ваш магазин сможет приобрести достойный вид и конкурировать по производительности и юзабилити с лидерами рынка.
Продолжение следует …
Еще по теме:
- Мобильная адаптация сайта – ответы на вопросы В этой статье мы рассмотрим: Как влияет адаптивность сайта на ранжирование в ПС Как оптимизировать сайт под мобильные устройства Какие инструменты можно использовать для проверки...
- Технический аудит сайта: когда проводить, какие инструменты использовать и что проверять Когда проводить технический аудит сайта Какие инструменты использовать Что нужно проверять Когда нужно проводить технический аудит, с какой периодичностью Технический аудит сайта обязательно проводится перед...
- Как сделать редизайн и переезд сайта без потерь позиций и трафика Вступление Делая редизайн сайта, вы, конечно же, надеетесь на улучшение позиций, трафика. Вряд ли кто-то рассчитывает увидеть после доработок такой график: На практике ситуация с...
- Как поступить с изображениями для мобильной версии сайта? Есть изображения, они нормально смотрятся на десктопной версии. Что делать с мобильной версией (адаптивной): подгружать другие, дополнительные картинки нужного размера? Ответ Подгружать изображения подходящего размера...
- Инструменты для анализа отображения сайта на разных устройствах Поисковые системы учитывают поведенческие факторы как в десктопной версии, так и на мобильных устройствах, поэтому необходимо учитывать этот факт при разработке сайта (или при его...
Есть вопросы?
Задайте их прямо сейчас, и мы ответим в течение 8 рабочих часов.
Спасибо, интересная статья!
Насчет MVC очень познавательно!
Обязательно хотел бы напомнить об очень известном движке Вордпресс. Вот к примеру сайт созданный на нем https://drev.biz/ очень большой функционал, много возможностей, работает на большой скорости (загружается оперативно) если не перегружать фотками и видео. Думаю программисты оценят превосходства этого движка…
Cогласен с автором. Система для создания интернет-магазинов первоклассая. Уже сделали более 200 проектов и ни разу не разочаровались. Рекомендуем , как лучшее решение для малого и среднего бизнеса.
Для магазина соглашусь. Но для доски объявлений какой движок посоветуете? Заранее благодарю за профессиональный совет.