Page Mass Edit — массовое редактирование статей в блогах
Плагин для Cotonti предоставляет удобный интерфейс для быстрого поиска и просмотра страниц статей, массового редактирования данных различных типов, включая "магические" дополнительные экстраполя
- Категория расширения
- Администрирование и управление, Блоги, новости, статьи, Утилиты и инструменты
- Доступность
- Бесплатно
Page Mass Edit — массовое редактирование страниц модуля Page
Плагин для Cotonti v1.+
Предоставляет удобный интерфейс для быстрого просмотра и массового редактирования контента страниц.
Позволяет изменять заголовки, алиасы, мета-теги, ключевые слова, авторов, категории, статусы, даты, файлы, URL, парсеры и любые дополнительные поля (экстраполя) одновременно для нескольких записей.
10 августа 2026 года добавлена интеграция с плагином xtradbrowpage.
Для интернет-магазинов на основе модуля Market PRO v.5интеграция платная.
Оглавление
- История создания и решаемая проблема
- Возможности
- Требования
- Структура плагина
- Установка
- Настройка плагина в админке
- Использование
- Административная панель (две вкладки)
- Подробное описание каждого файла
- Пример использования
- Устранение неполадок
- Лицензия
- Ссылки
История создания и решаемая проблема
Администраторы сайтов на Cotonti часто сталкиваются с необходимостью массово обновить мета‑теги, изменить категории или поправить статусы десятков страниц. Штатные инструменты позволяют редактировать только по одной записи за раз, что отнимает много времени.
Page Mass Edit решает эту задачу: он выводит все страницы в одной таблице с возможностью фильтрации и поиска, а затем позволяет вносить изменения в несколько записей одновременно. Интерфейс намеренно сделан гибким — администратор может скрывать ненужные колонки через настройки, фокусируясь только на тех полях, которые необходимо обновить.
Плагин не вмешивается в логику работы модуля page — он только читает и записывает данные через стандартное API Cotonti, сохраняя все проверки прав и целостность базы.
Возможности
- Две вкладки администрирования:
- «Список страниц» — просмотр страниц с поиском и фильтрацией.
- «Массовое редактирование» — таблица с возможностью одновременного изменения полей.
- Мощный поиск и фильтрация:
- Поиск по заголовку, тексту, описанию.
- Фильтр по точному ID.
- Выбор категории через выпадающий список с поддержкой Select2 (включая вложенность и перевод категорий плагином i18n).
- Фильтр по статусу (все / на рассмотрении / опубликованы / черновики).
- Гибкая настройка отображаемых колонок — администратор выбирает, какие поля показывать в таблице редактирования:
- ID, Заголовок, Алиас, Meta Title, Meta Description, Ключевые слова, Автор, Категория, Статус, Дата начала публикации, Дата окончания, Файл, URL, Парсер, Изменён, Удалить.
- Отдельная опция включает/отключает экстраполя.
- Массовое редактирование — изменения применяются только к тем полям, значения которых были действительно изменены (сравнение с текущими данными), что исключает ложные обновления.
- Массовое удаление — возможность пометить страницы на удаление прямо из таблицы массового редактирования.
- Пагинация — на обеих вкладках, с сохранением параметров фильтра при переходах.
- Настройки плагина — количество элементов на странице, чёрный список категорий (скрываются из выпадающих списков).
- Полная локализация — русский и английский языки из коробки.
Требования
- Cotonti v1.+ (актуальная ветка)
- Модуль
page(должен быть установлен и активен) - PHP 8.5+
- MySQL 8.4+
- Права администратора для доступа к панели управления плагином.
Структура плагина
pagemassedit/
├── pagemassedit.setup.php # Регистрация плагина и описание настроек
├── pagemassedit.admin.php # Административная панель (хук tools)
├── pagemassedit.functions.php # Вспомогательные функции (выпадающий список категорий)
├── lang/
│ ├── pagemassedit.ru.lang.php # Русский языковой файл
│ └── pagemassedit.en.lang.php # Английский языковой файл
└── tpl/
└── pagemassedit.admin.tpl # Шаблон админ‑панели
Установка
- Скачайте ZIP‑архив плагина из официального репозитория .
- Распакуйте архив в папку
plugins/вашего сайта. - Зайдите в админ‑панель Cotonti → Расширения .
- Найдите «Page Mass Edit» и нажмите «Установить» .
Плагин сразу готов к работе — перейдите в Инструменты → Page Mass Edit .
Настройка плагина в админке
Все параметры доступны по пути Расширения → Page Mass Edit → Конфигурация .
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
perpage | string | 20 | Количество страниц, отображаемых на одной странице списка/таблицы. |
blacklist_cats | string | (пусто) | Коды категорий через запятую, которые будут скрыты в выпадающих списках выбора категорий. |
show_id | radio | 1 | Показывать колонку «ID». |
show_title | radio | 1 | Показывать колонку «Заголовок». |
show_alias | radio | 1 | Показывать колонку «Алиас». |
show_metatitle | radio | 1 | Показывать колонку «Meta Title». |
show_metadesc | radio | 1 | Показывать колонку «Meta Description». |
show_keywords | radio | 1 | Показывать колонку «Ключевые слова». |
show_author | radio | 1 | Показывать колонку «Автор». |
show_cat | radio | 1 | Показывать колонку «Категория». |
show_state | radio | 1 | Показывать колонку «Статус». |
show_begin | radio | 1 | Показывать колонку «Начало публикации». |
show_expire | radio | 1 | Показывать колонку «Окончание публикации». |
show_file | radio | 1 | Показывать колонку «Файл». |
show_url | radio | 1 | Показывать колонку «URL». |
show_parser | radio | 1 | Показывать колонку «Парсер». |
show_updated | radio | 1 | Показывать колонку «Изменён». |
show_delete | radio | 1 | Показывать колонку «Удалить». |
show_extrafields | radio | 1 | Показывать колонки дополнительных полей (экстраполя). |
Изменение любой из этих опций мгновенно влияет на отображение таблицы массового редактирования.
Использование
Просмотр и поиск страниц
- Перейдите в Инструменты → Page Mass Edit .
- Откроется вкладка «Список страниц» .
- Вы можете:
- Ввести поисковый запрос в поле «Поиск».
- Выбрать категорию из выпадающего списка.
- Указать точный ID страницы.
- Выбрать область поиска: заголовок, заголовок+текст, описание.
- Нажмите «Фильтр» — таблица обновится в соответствии с критериями.
Результаты отображаются в таблице с колонками: ID, Заголовок (ссылка на страницу), Категория, Автор, Статус. Предусмотрена пагинация с подсветкой найденных слов.
Массовое редактирование страниц
- Перейдите на вкладку «Массовое редактирование» .
- При необходимости используйте фильтры (поиск, категория, ID, статус), чтобы сузить список страниц.
- Настройте видимость колонок в конфигурации плагина (см. выше) — скройте те поля, которые не собираетесь менять.
- Внесите изменения прямо в поля таблицы. Каждое поле можно редактировать независимо.
- Нажмите «Сохранить изменения» .
Важно: Плагин обновляет только те поля, значение которых действительно отличается от текущего. Это экономит ресурсы и предотвращает ложные срабатывания триггеров (например, обновление даты изменения).
Массовое удаление: в столбце «Удалить» переключите радиокнопку в «Да» для страниц, которые нужно удалить. При сохранении они будут удалены через стандартную процедуру модуля page (с очисткой кеша, обработкой файлов и т.д.).
Административная панель (две вкладки)
Панель доступна через Админка → Инструменты → Page Mass Edit .
Вкладка «Список страниц»
- Форма поиска с возможностью фильтрации по фразе, категории и ID.
- Таблица со ссылками на страницы, категориями, авторами и статусами.
- Пагинация с сохранением параметров поиска.
- Подсветка найденных слов в заголовках и тексте (при включённом поиске).
Вкладка «Массовое редактирование»
- Аналогичная форма поиска и фильтрации (включая фильтр по статусу).
- Таблица с выбранными администратором колонками.
- Поля для редактирования: текстовые поля, выпадающие списки (категория, статус, файл, парсер), селекторы дат, чекбоксы.
- Экстраполя автоматически подгружаются и отображаются в соответствии с их типом.
- Кнопка «Сохранить изменения» применяет все сделанные правки.
- Пагинация сохраняет фильтры и номер страницы после сохранения.
Подробное описание каждого файла
pagemassedit.setup.php
Регистрирует плагин в Cotonti и описывает его настройки.
- Секция [BEGIN_COT_EXT] содержит метаданные: код, имя, категорию, версию, зависимости (page ), права доступа.
- Секция [BEGIN_COT_EXT_CONFIG] перечисляет все параметры конфигурации с указанием порядка, типа, значения по умолчанию и описания. Эти параметры автоматически появляются в форме настроек плагина.
pagemassedit.admin.php
Главный файл, подключаемый через хук tools . Реализует всю логику админ‑панели:
- Подключает необходимые зависимости (
pagemassedit,page,functions.php). - Определяет текущую вкладку и обрабатывает POST‑запросы сохранения.
- Вкладка «Список страниц»: формирует SQL‑запрос с динамическим WHERE в зависимости от фильтров, получает данные, строит таблицу, генерирует пагинацию, подсветку слов, передаёт переменные в шаблон.
- Вкладка «Массовое редактирование»:
- При
POSTсa=updateзапускает цикл обработки: загружает текущие данные для переданных ID, сравнивает каждое поле и записывает только изменившиеся. Обрабатывает удаление. - При обычном отображении строит таблицу, учитывая настройки видимости колонок. Для каждой колонки создаётся соответствующее поле ввода (текст, select, дата, чекбокс).
- Поддерживает экстраполя через вызов
cot_build_extrafields().
- При
pagemassedit.functions.php
Содержит вспомогательную функцию cot_pagemassedit_selectcat_select2() .
Она генерирует выпадающий список категорий с поддержкой Select2:
- Поддерживает черный список категорий (
blacklist_catsиз настроек). - Учитывает права доступа (
cot_auth). - Поддерживает фильтрацию по подкатегории.
- Интегрируется с плагином i18n для перевода названий категорий.
- Выводит опции с атрибутом
data-depthдля корректной иерархии.
Языковые файлы
pagemassedit.ru.lang.php и pagemassedit.en.lang.php содержат все текстовые строки интерфейса: названия плагина, вкладок, подписи полей, сообщения, описания настроек.
Шаблон pagemassedit.admin.tpl
HTML‑шаблон с блоками XTemplate, использующий Bootstrap 5 (встроен в Cotonti). Включает:
- Переключение вкладок через
nav-tabs. - Формы поиска с скрытыми полями для сохранения параметров админки.
- Таблицы данных с условными блоками для каждой колонки (
IF {SHOW_...}). - Блоки пагинации.
- JavaScript для подсветки поисковых слов.
Пример использования
Задача: необходимо обновить Meta Title и Meta Description у 50 страниц из категории «Новости», а также изменить их статус на «Опубликован».
- Откройте панель «Page Mass Edit», вкладка «Массовое редактирование».
- В фильтре выберите категорию «Новости», статус «Все».
- В настройках плагина включите показ колонок «Meta Title», «Meta Description», «Статус», остальные можно временно скрыть для удобства.
- Внесите нужные изменения в ячейках таблицы. При необходимости скопируйте новые значения из внешнего редактора.
- Нажмите «Сохранить изменения». Плагин обработает только те поля, которые были изменены, и выведет сообщение «Обновлено страниц: 50».
Устранение неполадок
- Фильтр не находит страницы. Убедитесь, что критерии поиска заданы корректно. Проверьте, не активен ли чёрный список категорий, скрывающий нужную категорию.
- После сохранения изменений не видно результата. Возможно, вы изменили поле, значение которого совпадает с текущим — в этом случае плагин специально не выполняет запрос к базе. Проверьте сообщение о количестве обновлённых записей.
- Не отображаются экстраполя. Включите опцию «Показывать экстраполя» в настройках плагина. Убедитесь, что в модуле
pageдействительно зарегистрированы дополнительные поля. - Выпадающий список категорий пуст. Проверьте права администратора на чтение категорий. Убедитесь, что чёрный список (
blacklist_cats) не содержит всех категорий. - После фильтрации сбивается адресная строка. Используйте кнопку «Фильтр» вместо прямого ввода URL. Плагин корректно обрабатывает скрытые поля формы.
- Некорректная работа выпадающего списка категорий (Select2).
Выбор категорий в формах поиска и редактирования реализован через функциюcot_pagemassedit_selectcat_select2(), использующую штатную библиотеку Select2 , которая уже включена в Cotonti. Для корректного отображения и функционирования в теме вашей админки должны быть определены стили и скрипты, аналогичные приведённым ниже.
Необходимые стили (добавьте в CSS вашей админ-темы):
/* Основной контейнер для одиночного select2 (не multiple) */
.select2-container--default .select2-selection--single {
background-color: var(--bs-body-bg, #fff);
border: 1px solid var(--bs-border-color, #ced4da);
border-radius: 0.375rem;
padding: 0.375rem 0.75rem;
font-size: 1rem;
line-height: 1.5;
height: 38px;
display: flex;
align-items: center;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.select2-container--default .select2-selection--single:focus {
border-color: #86b7fe;
box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
outline: 0;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
color: var(--bs-body-color, #212529);
line-height: 1.5;
padding-left: 0;
padding-right: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height: 100%;
right: 0.75rem;
}
.select2-container--default .select2-results__options {
max-height: 50vh !important;
overflow-y: auto;
background-color: var(--bs-body-bg, #fff);
color: var(--bs-body-color, #212529);
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
background-color: var(--bs-link-hover-color, #FF5722);
color: #fff;
}
.select2-container--default .select2-results__group {
font-weight: bold;
padding: 0.375rem 0.75rem;
color: var(--bs-body-color, #212529);
background-color: var(--bs-sidebar-bg, #f8f9fa);
}
/* Тёмная тема */
[data-bs-theme="dark"] .select2-container--default .select2-selection--single {
background-color: var(--bs-body-bg, #212529);
border-color: var(--bs-sidebar-border, #444);
}
[data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered {
color: var(--bs-body-color, #e9ecef);
}
[data-bs-theme="dark"] .select2-container--default .select2-results__options {
background-color: var(--bs-body-bg, #212529);
color: var(--bs-body-color, #e9ecef);
}
[data-bs-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected] {
background-color: #343a40 !important;
color: #fff;
}
[data-bs-theme="dark"] .select2-container--default .select2-results__group {
color: var(--bs-body-color, #e9ecef);
}
Необходимый JavaScript (подключите в админ-теме):
$(document).ready(function () {
const selectName = 'c';
const selectSelector = 'select[name="' + selectName + '"]';
$(selectSelector).select2({
placeholder: "---",
width: '100%',
templateResult: function (state) {
if (!state.id) return state.text;
const depth = parseInt(state.element?.dataset?.depth || '0', 10);
const text = state.text.trim();
const indent = '\u00A0'.repeat(depth * 3);
return depth === 0 ? $('' + text + '') : $('' + indent + text + '');
},
templateSelection: function (state) {
return state.id ? state.text : state.text;
}
});
$(selectSelector).on('select2:select', function (e) {
const selectedText = e.params.data.text.trim();
const containerId = $(this).attr('name');
const renderedSelector = '#select2-' + containerId + '-container';
$(renderedSelector).attr('title', selectedText);
});
const selectedOption = $(selectSelector).find(':selected');
if (selectedOption.length) {
const cleanTitle = selectedOption.text().trim();
const containerId = $(selectSelector).attr('name');
const renderedSelector = '#select2-' + containerId + '-container';
$(renderedSelector).attr('title', cleanTitle);
}
});
Если после добавления стилей и скриптов список всё ещё отображается некорректно, проверьте, что в вашей админ-теме не используются другие стили для Select2, которые могут переопределять данные. Перепроверьте, что jQuery и Select2 загружаются до выполнения приведённого кода.
Лицензия
BSD. Свободное использование и модификация при сохранении авторских прав.
Ссылки
Купить Page Mass Edit — массовое редактирование статей в блогах по низким ценам. Интернет-магазин предлагает заказать Page Mass Edit — массовое редактирование статей в блогах, просмотреть полное описание, детальные характеристики, фото товара и актуальные цены со скидкамиYou may have been looking for this for a long time
Установка, интеграция и адаптация плагинов под Cotonti CMFYou may have been looking for this for a long time.:
Модуль Market PRO v.5+ для Cotonti CMF.Мультикатегории товара:
Дополнительные категории, в которых этот товар показывается как похожий.Оффлайн
webitproff
Последняя авторизация: 26.09.2026 15:22
- Дата размещения 11.08.2026 23:42
- Обновлено 13.09.2026 14:13
Обсуждение страницы в Telegram
Последние сообщения
- i18n modified - Модифицированный плагин мультиязычности
webitproff, 19.09.2026 07:55i18n modified - Модифицированный плагин мультиязычности
- Пропали ссылки на плагины в шаблонах
webitproff, 19.09.2026 06:07еще по теме, если есть ложное срабатывание при проверке активности плагина, - читать статью “Баг в ядре Cotonti при проверки активности плагина с всего одним хуком”
- Market PRO + всё, что связано с ЧПУ
webitproff, 13.09.2026 01:11частиный functions.custom.php <?php /** * Файл: system/functions.custom.php * * Читать инструкцию https://github.com/webitproff/functions.custom.php-cotonti/blob/main/README.md * * Пользоват...
- Market PRO + всё, что связано с ЧПУ
webitproff, 13.09.2026 01:09пресет правил/plugins/urleditor/presets/marketplace.datforums m=posts&q=&d= forums/{forums_url_structure()}/page{$d} forums m=posts&q=* forums/{forums_url_structure()} forums ...
- Tab "вкладка товаров" на странице профиля пользователя
webitproff, 13.09.2026 00:43Подробное описание файла market.userdetails.php1. Общая информация Параметр Значение Имя файла market.userdetails.php Расположение modules/market/market.userdetails.php Хук Cotonti users.details.ta...
- Multicat Market - Плагин для CMF Cotonti
webitproff, 11.09.2026 23:11Multicat MarketПлагин для модуля Market v5+ CMF Cotonti, позволяющий назначать одному товару (странице модуля Market) сразу несколько категорий структуры market. Вся реализация выполнена через стандар...
- Market PRO — модуль интернет-магазина и торговой площадки для Cotonti
webitproff, 10.09.2026 13:44Market PRO — модуль интернет-магазина и торговой площадки для CotontiГотовое решение для создания как классического интернет-магазина с одним продавцом, так и полноценной торговой площадки (маркетплей...
- Полное руководство по функции cot_market_enum()
webitproff, 10.09.2026 02:56Полное руководство по функции cot_market_enum()Функция cot_market_enum() — это мощный генератор списков товаров для модуля Market в Cotonti. Она позволяет вывести товары в любом месте сайта: на главно...
- В формах добавления и редактирования пропали картинки
webitproff, 09.09.2026 17:21Решил я “допекти” модуль товаров под котонти верону основательно. в процессе доработок тестирую, по привычке по ссылке гружу картинку к товару и какой-то там эрор без смысловой нагрузки и картинки нет...
- Инструкция: вывод в шаблон имени и ссылки на профиль пользователя в Cotonti
webitproff, 07.09.2026 15:15Инструкция: вывод имени и ссылки на профиль пользователя в CotontiВ этой инструкции описано, как получить данные о пользователе (текущем или владельце любой сущности) и передать их в шаблон в виде трё...
Витрина Market PRO
CMS, Скрипт и Движок - веб сайта онлайн-витрины, интернет магазина инфопродуктов и цифровых товаров. Разные цены в разных валютах на товар. Онлайн-оплата в криптовалюте за товары и услуги.