Категории форума

Market PRO — модуль интернет-магазина и торговой площадки для Cotonti

Описание для предпринимателей. Знакомимся с модулем, задаем вопросы и получаем ответы. Обсуждаем использование модуля в текущем виде или под ваши специфические и профильные задачи.

Привет , ты много пропустил
webitproff
Телеграм для сообщений
@webitproff
webitproff • 10.09.2026 13:44 #1

Market PRO — модуль интернет-магазина и торговой площадки для Cotonti

Готовое решение для создания как классического интернет-магазина с одним продавцом, так и полноценной торговой площадки (маркетплейса) с множеством независимых продавцов. Работает на современном стеке PHP 8.5+ и MySQL 8.4, полностью совместим с актуальными версиями движка Cotonti.

1. Что такое Market PRO

Market PRO — это модуль для CMF Cotonti, превращающий обычный сайт в полноценный каталог товаров и услуг. Он умеет работать в двух режимах:

  • Одиночный магазин — один продавец, все товары принадлежат владельцу сайта.
  • Торговая площадка — множество независимых продавцов, каждый со своими товарами, собственной витриной в профиле и собственным набором прав.

Переключение между режимами не требует переустановки модуля — достаточно настроить права пользователей на категории.

2. Ключевые преимущества

2.1. Современная архитектура

Модуль написан с использованием актуальных практик PHP 8.5+, включая строгую типизацию, namespace-пространства, сервисы и паттерн Singleton. Это обеспечивает стабильность работы и лёгкость дальнейшего развития.

2.2. Полная поддержка мультипродавцовости

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

2.3. Гибкая система статусов товаров

Каждый товар может находиться в одном из трёх состояний: черновик, на модерации, опубликован. Это позволяет модерировать новые публикации до их появления на сайте.

2.4. Расширенная система дополнительных полей

Никаких ограничений на структуру товара — через систему extrafields Cotonti можно добавить любое количество своих полей: характеристики, бренды, размеры, статусы наличия, ссылки на видео, галереи и т. д. Значения полей могут быть разного типа: строка, число, дата, выбор из списка, файл, изображение.

2.5. Индивидуальные шаблоны для каждой категории

Для любой категории можно назначить собственный шаблон header, footer и страницы товара. Это даёт полную свободу в оформлении: от фирменного стиля отдельных разделов до специализированных шаблонов для разных типов товаров (например, книги и электроника могут отображаться по-разному).

2.6. SEO-ориентированность на уровне ядра

У каждого товара есть отдельные поля meta-заголовка, meta-описания, SEO-заголовка H1, алиаса и канонического URL. У категорий — свои мета-теги, ключевые слова и описания. Всё это работает без установки дополнительных плагинов.

2.7. Высокая производительность

Модуль поддерживает статическое и дисковое кэширование, а счётчик просмотров товаров реализован через AJAX-запросы, что позволяет отдавать закэшированные страницы товаров без потери статистики.

2.8. Мультиязычность «из коробки»

Встроенная поддержка мультиязычности: названия, описания и тексты товаров можно переводить на несколько языков. Модуль совместим с плагином i18n4marketpro, который добавляет переводы для категорий и товаров.

2.9. Интеграция с экосистемой Cotonti

Товары из Market PRO автоматически участвуют в общих сервисах Cotonti: поиске, системе комментариев, системе прикреплённых файлов и других механизмах, использующих абстрактные элементы (ItemDto).

2.10. Готовый AJAX-интерфейс

Списки товаров поддерживают кнопку «Загрузить ещё», которая подгружает следующую порцию элементов без перезагрузки страницы. Работает пока не во всех местах, пока только в профиле продавца.

3. Кому подойдёт модуль

  • Интернет-магазинам — классическая витрина с категориями, фильтрами, поиском, карточками товаров и корзиной (при подключении соответствующего плагина).
  • Торговым площадкам — маркетплейсы с самостоятельными продавцами, каждый со своим кабинетом и товарами.
  • Каталогам услуг — с портфолио, ценами, отзывами.
  • Доскам объявлений — с модерацией новых публикаций.
  • Корпоративным сайтам — для публикации прайс-листов и каталогов продукции без необходимости в полноценном интернет-магазине.

4. Возможности витрины и продавца

4.1. Каталог товаров

  • Иерархическая структура категорий с любой глубиной вложенности.
  • Поддержка изображений и иконок у категорий.
  • Отдельные описания для каждой категории.
  • Специальные служебные категории: «Все товары», «Ожидают утверждения», «Черновики», «Системные».
  • Списки подкатегорий с количеством товаров в каждой.

4.2. Карточка товара

  • Заголовок, краткое описание, полный текст с визуальным редактором.
  • Несколько вкладок внутри одного товара (разделитель страниц).
  • Артикул товара для быстрого поиска.
  • Две цены: основная цена и цена в USD (удобно для конвертации в валюту сайта).
  • Галерея изображений и прикреплённые файлы.
  • Комментарии посетителей (при активном плагине комментариев).
  • Счётчик просмотров.
  • Информация о продавце с ссылкой на его профиль.
  • SEO-заголовок H1, meta title, meta description.
  • Человекопонятный URL (ЧПУ) на основе алиаса.

4.3. Витрина продавца

  • Отдельная вкладка «Мои товары» в профиле пользователя.
  • Фильтрация своих товаров по категориям.
  • Быстрый переход к редактированию и удалению.
  • Просмотр количества товаров в каждой из своих категорий.
  • Кнопка «Добавить товар» прямо из витрины.

4.4. Поиск и фильтрация

  • Поиск по названию, по названию и полному описанию, по артикулу.
  • Подсветка найденных слов в результатах поиска.
  • Фильтрация по любым дополнительным полям.
  • Фильтрация по категориям (с учётом подкатегорий).

4.5. Сортировка

  • По дате добавления, по дате обновления, по алфавиту, по цене, по популярности.
  • Сортировка по любым дополнительным полям.
  • Направление сортировки: по возрастанию и по убыванию.
  • Индивидуальные параметры сортировки для каждой категории.

4.6. Публикация товара

  • Форма добавления с предпросмотром.
  • Сохранение в черновик для продолжения работы позже.
  • Отправка на модерацию администратору.
  • Мгновенная публикация (при наличии прав).
  • Клонирование существующего товара для быстрого создания похожего.

5. Возможности администратора

5.1. Управление товарами

  • Единый список всех товаров с фильтрами по статусу: все, ожидающие утверждения, опубликованные, черновики, истёкшие.
  • Поиск по названию, полному описанию, артикулу.
  • Фильтрация по категориям.
  • Сортировка по любым полям.
  • Пагинация с настраиваемым количеством записей на странице.

5.2. Массовые операции

  • Утверждение нескольких товаров одним действием.
  • Массовое удаление выбранных товаров.

5.3. Индивидуальные действия

  • Утверждение отдельного товара.
  • Снятие с публикации (возврат в очередь на модерацию).
  • Удаление товара.
  • Редактирование любого товара.
  • Изменение владельца товара.
  • Редактирование счётчика просмотров.

5.4. Уведомления

  • Администратор видит в верхней панели сайта количество товаров, ожидающих утверждения, и количество черновиков.
  • Продавец видит количество своих товаров, ожидающих модерации, и своих черновиков.

5.5. Настройки модуля

  • Разметка описаний: HTML или BBCode.
  • Выбор парсера текста по умолчанию.
  • Учёт посещений администратора в счётчике просмотров.
  • Автоматическое утверждение публикаций для администраторов.
  • Максимальное количество элементов на странице (глобально и для каждой категории).
  • Формат заголовка страницы товара: с названием категории или без.
  • Чёрный список категорий, исключаемых из дерева на страницах.
  • Валюта по умолчанию.
  • Длина обрезки текста в списках товаров.
  • Разрешение публиковать товары без описания.
  • Ключевые слова, meta-заголовок и meta-описание по умолчанию.

5.6. Управление структурой

  • Настройка прав на каждую категорию (чтение, запись, администрирование).
  • Блокировка отдельных категорий от публикации.
  • Автоматический пересчёт счётчиков товаров в структуре.

6. SEO и продвижение

6.1. Мета-информация

  • Отдельные поля meta title, meta description, H1 для каждого товара.
  • Мета-информация для каждой категории: заголовок, описание, ключевые слова.
  • Автоматическое формирование заголовка страницы по шаблону.
  • Канонические URL для предотвращения дублирования страниц.

6.2. Человекопонятные URL

  • Алиасы для товаров, формирующие ЧПУ вида /market/electronics/noutbuk-lenovo.
  • Автоматическая проверка уникальности алиасов.
  • Возможность задать алиас вручную.

6.3. Хлебные крошки

  • Построение полного пути до товара и категории.
  • Полная и сокращённая версии для использования в разных местах.
  • Поддержка микроразметки (при необходимости включается в шаблоне).

6.4. Управление индексацией

  • Автоматический noindex для страниц, которые не должны попадать в поиск (формы, страницы редактирования, предпросмотр).
  • Управление индексацией списков и карточек товара.

7. Мультиязычность

Модуль готов к работе на многоязычных сайтах. Все системные сообщения вынесены в языковые файлы, а названия, описания и тексты товаров можно переводить на неограниченное количество языков.

  • Отдельные языковые файлы для каждого языка интерфейса.
  • Локализованные заголовки категорий и товаров.
  • Совместимость с плагином i18n4marketpro для перевода содержимого.
  • Автоматический выбор языка в зависимости от настроек пользователя.
  • Поиск с учётом переводов на текущем языке.

Модуль уже локализован на русский, украинский и английский языки. Добавление нового языка сводится к копированию языкового файла и переводу строк.

8. Интеграция с Cotonti и сторонними расширениями

8.1. Стандартные механизмы Cotonti

  • Работа с правами доступа по категориям — чтение, запись, администрирование.
  • Совместимость с системой дополнительных полей (extrafields).
  • Интеграция с сервисом ItemService (для поиска и внешних сервисов).
  • Участие товаров в общих списках и выдачах Cotonti.

8.2. Плагины, совместимые с Market PRO

  • Attacher — загрузка изображений и файлов к товару.
  • TGM4Market — интеграция с телеграм-ботами для уведомлений.
  • i18n4marketpro — переводы для категорий и товаров.
  • aliasmarketpro — расширенные возможности для ЧПУ.
  • xtradbrowmarket — расширенный вывод дополнительных полей.

8.3. Платёжные системы

Модуль поддерживает интеграцию с системой платежей Cotonti. Валюта магазина может автоматически подставляться из настроек платежей, а цена товара — выводиться в нужной валюте.

9. Шаблоны и оформление

9.1. Индивидуальные шаблоны

  • Отдельный шаблон для каждой категории товаров.
  • Свои шаблоны для страницы товара, формы добавления, формы редактирования.
  • Свои шаблоны header и footer для каждой категории.
  • Возможность переопределения шаблонов в теме без правки модуля.

9.2. Гибкость вывода

  • Теги для каждого элемента товара с префиксами — для удобного использования в шаблонах.
  • Блоки для вывода подкатегорий, дополнительных полей, кнопок администратора.
  • Встроенные виджеты списков товаров для размещения на главной странице, в сайдбаре и в любых других местах.

9.3. Современная вёрстка

Шаблоны модуля построены на Bootstrap 5 и адаптированы для использования в современных темах Cotonti. При необходимости легко адаптируются под любую другую вёрстку.

10. Производительность и кэширование

  • Поддержка статического кэша страниц Cotonti.
  • Дисковое кэширование виджетов и списков товаров.
  • AJAX-счётчик просмотров — работает даже когда страница отдаётся из кэша.
  • Автоматическая очистка кэша при изменении товара, категории или структуры.
  • Оптимизированные SQL-запросы без лишних JOIN'ов.
  • Кэширование результатов выборки товаров по ID.

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

11. Безопасность

  • Защита от CSRF-атак на всех формах.
  • Защита от SQL-инъекций через подготовленные запросы.
  • Экранирование пользовательских данных при выводе.
  • Разграничение прав доступа на уровне отдельных категорий.
  • Дополнительная блокировка заблокированных категорий для обычных пользователей.
  • Проверка владельца при редактировании и удалении товара.
  • Журналирование попыток несанкционированного доступа к неопубликованным товарам.

12. Технические требования

PHP8.5 и выше
MySQL8.4 и выше
Cotontiактуальные версии (Siena и выше)
Обязательные модулиextrafields, forms, users
Опциональные плагиныcomments, attacher, i18n4marketpro, tgm4market, aliasmarketpro

Модуль не требует внешних зависимостей (composer-пакетов и т. п.) — все необходимые классы входят в его состав.

13. Сценарии использования

13.1. Интернет-магазин одной компании

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

13.2. Мультивендорная торговая площадка

Регистрируются несколько продавцов. Каждому открыт доступ к своим категориям. Публикации проходят модерацию администратором. Покупатели выбирают товары конкретных продавцов прямо на витрине профиля.

13.3. Каталог услуг с портфолио

Специалисты публикуют свои услуги с описанием, ценами и примерами работ. Отдельные категории для разных видов услуг. Покупатели оставляют отзывы через комментарии.

13.4. Доска объявлений с модерацией

Все новые объявления попадают в очередь на утверждение. Администратор проверяет их и публикует или отклоняет. Черновики позволяют пользователям сохранять заготовки объявлений.

13.5. Корпоративный прайс-лист

Компания публикует свой каталог продукции с артикулами и ценами. Покупатели используют поиск по артикулу для быстрого нахождения нужной позиции.

14. Итог

Market PRO — это готовое, надёжное и современное решение для организации торговли на Cotonti. Он одинаково хорошо подходит как для небольшого магазина одного продавца, так и для крупной торговой площадки с десятками независимых продавцов.

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

Благодаря использованию современных возможностей PHP 8.5 и MySQL 8.4 модуль работает быстро, безопасно и стабильно, а благодаря встроенной поддержке мультиязычности, SEO и кэширования — подходит для серьёзных проектов, рассчитанных на долгую работу и рост аудитории.

Актуальные обновления, документация и поддержка — на официальных страницах проекта. Если возникнут вопросы по установке или настройке, всегда можно обратиться к сообществу Cotonti или к автору модуля.

🗿

🧙‍♂️ Радуйся, странниче добрый и честный! Не понапрасну привела тя стезя в земли сии. Зде бо мужи мудры и искусники дела писменнаго и численнаго, что куют словеса и плетут узоры кода, тайны разгадывают и знанием делятся, летописи множа и ремесло цифровое творя.
⬅️ Аще налево пойдеши — обрящеши грамоты древния, писания старинныя и свитки учения. ⬆️ Аще прямо — слово мудрое и совет от мужей разумеющих, что в деле кодописном искусны, получиши. ➡️ Аще направо — сам в писцы и летописцы внидеши, и в ремесло цифровое, где строки и знаки в дело живое обращаются, слово свое в память веков вложиши.
📝 Не медли же — нареки имя свое, и вниди в чин наш, и стань с нами в братстве, где код есть магия, а строки — заклятия живыя, числом и буквою слово едины суть.
🏰 Не тайно есть собрание сие, и не инициации в нем, но многое сокрыто от пришлых и ступалого, понеже не всякому открывается знание, но токмо ищущим и пребывающим в деле сем.