- (Обновлено: ) Леонид Лепко
При создании сайта мы часто делаем выбор в пользу 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 будет лучшим выбором для создания интернет-магазина, если отбросить страх работы с ее структурой и кодом, вооружиться терпением и освоить минимальные навыки программирования.
Через некоторое время вы увидите, что вся ваша работа сведётся к простому копированию/вставке и небольшому форматированию кода, а ваш магазин сможет приобрести достойный вид и конкурировать по производительности и юзабилити с лидерами рынка.
Продолжение следует …
Еще по теме:
- Как грамотно составить ТЗ для программиста 1. Назначение, цели ТЗ 2. Общие рекомендации по написанию ТЗ 3. Общая структура ТЗ. От абстракции к конкретике Назначение, цели ТЗ Итак, техническое задание, сокращенно...
- Влияет ли домен на продвижение? Инструкции по выбору домена для сайтов Содержание: Как доменное имя влияет на продвижение? Влияет ли кириллический домен на продвижение? Влияет ли доменная зона на продвижение? Какой возраст домена считается хорошим для...
- Страницы низкого качества или как понять, что твой сайт «не очень» Не так страшен чёрт, как его малюют – русская пословица Иногда довольно сложно понять, что от тебя хотят поисковые системы, что именно они понимают под...
- Как закрыть от индексации тестовый SPA сайт и выкинуть из индекса страницы? Есть тестовый SPA сайт. Программисты его изначально не закрыли от индексации. Сейчас очень много страниц сайта попало в индекс. Как правильно сделать, чтобы и сайт...
- Как влияет на позиции сайта неправильное расположение заголовков Н4 и Н2? То, что у нас на сайте неправильно стоят заголовки - после 2 идет сразу 4, насколько это влияет на позиции сайта и выдачу? Ответ Мы...
Есть вопросы?
Задайте их прямо сейчас, и мы ответим в течение 8 рабочих часов.
Спасибо, интересная статья!
Насчет MVC очень познавательно!
Обязательно хотел бы напомнить об очень известном движке Вордпресс. Вот к примеру сайт созданный на нем https://drev.biz/ очень большой функционал, много возможностей, работает на большой скорости (загружается оперативно) если не перегружать фотками и видео. Думаю программисты оценят превосходства этого движка…
Cогласен с автором. Система для создания интернет-магазинов первоклассая. Уже сделали более 200 проектов и ни разу не разочаровались. Рекомендуем , как лучшее решение для малого и среднего бизнеса.
Для магазина соглашусь. Но для доски объявлений какой движок посоветуете? Заранее благодарю за профессиональный совет.