Обзор и подробное руководство по плагину «Импорт статей из CSV/Excel в модуль Page» для Cotonti CMF
Плагин pageimportcvsexcel — это профессиональный инструмент, разработанный специально для системы управления контентом Cotonti (версия 0.9.26 и выше), который позволяет администраторам быстро и удобно переносить большие объёмы статей из таблиц Excel (XLSX) и CSV в модуль Page.
Video in Telegram | Video in YouTube
Tested on Cotonti 0.9.26+ with PHP 8.4
Плагин полностью автономен: не требует установки Composer, использует встроенную библиотеку PhpSpreadsheet последней стабильной версии и работает на PHP 8.4+. Он идеально подходит для миграции контента с других CMS, импорта статей из парсеров, Excel-таблиц поставщиков или внутренних баз данных.
Основные возможности
- Поддержка двух самых популярных форматов: XLSX и CSV.
- Гибкий маппинг полей: администратор самостоятельно сопоставляет колонки Excel с любыми полями таблицы cot_pages (title, text, desc, keywords, metatitle, alias, category, dates, author и т.д.).
- Автоматическая обработка дат (как в формате Excel, так и обычные строки).
- Встроенная очистка текста: при желании удаляются все ссылки, скрипты, события JavaScript, data- и javascript-схемы, пустые теги — отличная защита от «грязного» контента.
- Ограничение количества импортируемых строк (настраивается в конфигурации, по умолчанию 300).
- Подробное логирование всех этапов (по желанию).
- Удобный современный интерфейс на основе Bootstrap 5 с табличным отображением маппинга.
- Автоматическая подстановка значений по умолчанию и защита от пустых обязательных полей (category и title).
- Если поле page_text остаётся пустым, плагин автоматически заполняет его заголовком статьи.
- Полная очистка временных файлов после импорта.
Установка и активация
- Скопируйте папку pageimportcvsexcel в директорию /plugins/.
- В панели администрирования перейдите в Расширения → Плагины и установите плагин.
- Активируйте его и назначьте права группе «Администраторы» (RW).
Плагин автоматически создаёт папку uploads/ внутри своей директории и использует сессию для хранения пути к загруженному файлу.
Настройка плагина
В разделе Конфигурация плагина доступны пять ключевых параметров:
- Целевая таблица — по умолчанию pages (можно указать любую другую таблицу с аналогичной структурой).
- Максимум строк — ограничение импорта (0 = без ограничений).
- Разрешённые форматы — xlsx,csv (можно расширить или ограничить).
- Вырезать ссылки в тексте — включение функции очистки HTML.
- Вести лог импорта — подробный журнал в файл logs/import.log.
Пошаговое руководство по использованию
Шаг 1. Подготовка файла Подготовьте таблицу в Excel или Google Таблицах. Первая строка — заголовки колонок (они могут быть на любом языке). Рекомендуемые колонки: Заголовок, Текст, Краткое описание, Категория, Алиас, Дата публикации, Автор, Ключевые слова, Meta Title и т.д.
Шаг 2. Загрузка файла Зайдите в Администрирование → Другие → Page Module articles CSV/Excel Import. Выберите файл и нажмите «Загрузить файл». Плагин проверит формат, сохранит файл во временную папку и автоматически прочитает заголовки колонок.
Шаг 3. Настройка соответствия полей Появится удобная таблица: Слева — все доступные поля модуля Page (с понятными подписями). Справа — выпадающий список с заголовками вашего файла + опция «Не импортировать».
Выберите нужные соответствия (можно оставить большинство полей на автозаполнении по умолчанию). Нажмите «Начать импорт».
Шаг 4. Импорт Процесс идёт построчно. После завершения вы увидите точное количество успешно добавленных записей. Файл автоматически удаляется, сессия очищается.
Полезные советы и лучшие практики
- Для очень больших файлов (более 1000 строк) устанавливайте разумный лимит строк и запускайте импорт несколькими частями.
- Включайте функцию очистки ссылок, если импортируете контент из внешних источников — это существенно повышает безопасность и качество статей.
- Ведите лог импорта при первых запусках — это поможет быстро найти и исправить проблемы с данными.
- Если в файле есть колонка с алиасами, обязательно сопоставьте её с page_alias — плагин не проверяет уникальность автоматически.
- Для дат лучше использовать “НЕ ИМПОРТИРОВАТЬ”.
Технические особенности и надёжность
Плагин использует современный подход: чтение только данных (без стилей), построчную обработку, защиту от SQL-инъекций через штатные методы Cotonti $db->insert(). Автозагрузчики библиотек PhpSpreadsheet и PSR работают без конфликтов с другими плагинами.
Все исключения ловятся и логируются, пользователь получает понятные сообщения об ошибках. После импорта не остаётся «мусора» на сервере.
Кому подойдёт плагин
- Владельцам крупных сайтов на Cotonti, которым нужно регулярно добавлять сотни статей.
- Разработчикам и фрилансерам, выполняющим миграцию контента.
- Интернет-магазинам и информационным порталам, использующим Excel как основную базу статей.
- Всем, кто устал вручную создавать сотни страниц.
Заключение
pageimportcvsexcel — это зрелый, продуманный и безопасный инструмент, который экономит десятки часов рутинной работы. Он сочетает максимальную гибкость маппинга с удобным интерфейсом и надёжной обработкой данных. Благодаря отсутствию внешних зависимостей плагин работает «из коробки» даже на самых строгих хостингах.
Если вы активно используете модуль Page в Cotonti — этот плагин должен быть в вашем арсенале. Он уже сейчас готов к использованию в продакшене и будет полезен как новичкам, так и опытным администраторам.
Постоянная ссылка на актуальный исходный код плагина на GitHub.
Официальная страница поддержки и обсуждения: https://abuyfile.com/ru/forums/cotonti/custom/plugs/topic123
Автор: webitproff (февраль 2026).