Skip to content

Joomline/contentcart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Content Cart

GitHub all releases GitHub release (latest) GitHub release (latest by date) Joomla License

Современное и безопасное решение для организации интернет-магазина на базе материалов Joomla. Пакет включает плагин контента и модуль корзины с поддержкой localStorage, AJAX и продвинутой системой безопасности.

Официальная страница: joomline.ru/rasshirenija/plugin/contentcart.html

Основные возможности

🛒 Современная корзина

  • localStorage - хранение корзины в браузере пользователя (не требует авторизации)
  • Настраиваемый TTL - время хранения корзины от 1 до 365 дней (по умолчанию 30 дней)
  • Умные кнопки - автоматическое обновление состояния при добавлении/удалении товаров
  • Динамический модуль - отображение списка товаров в реальном времени
  • Изменение количества - прямо в корзине без перезагрузки страницы
  • AJAX-взаимодействие - быстрая работа без перезагрузки страниц

🔒 Безопасность

  • CSRF-защита - для всех операций с корзиной
  • Серверная валидация цен - цены берутся только из пользовательских полей материалов
  • Защита от манипуляций - невозможно изменить цену через браузер
  • Валидация email - проверка корректности адреса перед отправкой
  • Контроль количества - серверная валидация (1-999 единиц)
  • Безопасные шаблоны - удалена опасная функция extract()

📋 Управление заказами

  • Отправка на E-mail - автоматическая отправка заказов администратору
  • Сохранение как материалы - заказы можно сохранять в выбранную категорию
  • Гибкие поля заказа - настройка полей клиента (имя, email, телефон, комментарий)
  • Автоочистка корзины - после успешного оформления заказа

⚡ Производительность

  • Система кэширования - снижение обращений к сессии на 90%
  • Оптимизация событий - сокращение нагрузки на 75%
  • Умная загрузка ресурсов - CSS/JS загружаются только когда нужно
  • Asset Management - через joomla.asset.json v4.1.2

🌐 Интернационализация

  • Многоязычный интерфейс - полная поддержка русского и английского языков
  • JavaScript i18n - переведенные сообщения и уведомления
  • Расширяемость - легко добавить новые языки

🎨 Настройка и дизайн

  • Адаптивный дизайн - работает на всех устройствах
  • Переопределение макетов - возможность кастомизации в шаблоне Joomla
  • Отключаемые стили - можно использовать собственные CSS
  • Гибкая конфигурация - фильтрация по категориям, области применения

Требования

  • Joomla: 5.x или 6.x
  • PHP: 7.4 или выше
  • Браузер: Современный браузер с поддержкой localStorage и ES6

Установка

  1. Скачайте последнюю версию пакета из раздела Releases
  2. Установите пакет через стандартную установку расширений Joomla (Система → Установка → Расширения)
  3. Активируйте плагин Контент - Корзина (Система → Плагины)
  4. Опубликуйте модуль Content Cart (Контент → Модули сайта)

Подробнее читайте в документации

Быстрая настройка

Настройка плагина "Контент - Корзина"

  1. Основные настройки:

    • Выберите пункт меню для страницы корзины
    • Укажите ID пользовательского поля для цены (если используете)
    • Установите валюту (например, ₽, $, €)
  2. Категории:

    • Выберите категории материалов, в которых будет отображаться кнопка "В корзину"
    • Настройте тип фильтрации (включить/исключить выбранные категории)
  3. Области применения:

    • Выберите где показывать кнопку: на странице материала, в блоге категории, списке категорий, избранных материалах
  4. Заказы:

    • Выберите категорию для сохранения заказов (необязательно)
    • Настройте поля клиента (имя, email, телефон, комментарий) - обязательные/необязательные/скрытые
  5. Дополнительно:

    • Включение/отключение стилей плагина
    • Настройка времени хранения корзины (TTL) от 1 до 365 дней

Настройка модуля "Content Cart"

  1. Позиция: Выберите позицию модуля в вашем шаблоне
  2. Отображение списка: Включите/отключите показ списка товаров в модуле
  3. Стили: Используйте встроенные стили или отключите для использования собственных

Что нового в версии 4.0.0

Критические улучшения безопасности

  • Полная защита от CSRF-атак
  • Серверная валидация цен и количества
  • Защита от манипуляции данными через браузер

Новая архитектура

  • Миграция на localStorage вместо PHP-сессий
  • AJAX API для взаимодействия с сервером
  • Namespace-архитектура с Dependency Injection
  • Современная структура файлов для Joomla 5/6

Повышение производительности

  • Улучшение скорости работы на 50-70%
  • Сокращение операций с сессией на 90%
  • Оптимизация обработки событий на 75%

Полный список изменений смотрите в CHANGELOG.md

История версий

  • 4.0.0 (декабрь 2025) - Поддержка Joomla 5/6, localStorage, безопасность, производительность
  • 2.0.0 (ноябрь 2022) - Поддержка Joomla 4
  • 1.x - Поддержка Joomla 3

Техническая информация

Структура пакета

pkg_contentcart/
├── plg_contentcart/              # Плагин контента
│   ├── src/
│   │   ├── Extension/            # Основной класс плагина
│   │   └── Helper/               # Вспомогательные классы
│   ├── assets/
│   │   ├── js/                   # JavaScript модули
│   │   ├── css/                  # Стили
│   │   └── joomla.asset.json     # Asset Management
│   ├── layouts/                  # Макеты (cart, default, mail)
│   ├── services/                 # Dependency Injection
│   └── language/                 # Языковые файлы
└── mod_contentcart/              # Модуль корзины
    ├── src/
    │   ├── Dispatcher/           # Обработчик модуля
    │   └── Helper/               # Вспомогательные методы
    └── tmpl/                     # Шаблон модуля

API и события

Плагин использует события Joomla:

  • onContentAfterDisplay - добавление кнопки "В корзину" после материала
  • onContentBeforeDisplay - обработка действий корзины

AJAX endpoints:

  • index.php?option=com_ajax&plugin=contentcart&group=content&format=json&action=getPrice - получение цены товара
  • index.php?option=com_ajax&plugin=contentcart&group=content&format=json&action=addToCart - добавление в корзину
  • index.php?option=com_ajax&plugin=contentcart&group=content&format=json&action=updateCart - обновление корзины

Поддержка проекта

Расширение развивается и существует исключительно на пожертвования пользователей.

Поддержать проект: Donate

Помощь и поддержка

Лицензия

GNU General Public License version 2 or later

Контакты


© 2018-2025 Joomline. All rights reserved.