Page Mass Edit — массовое редактирование статей в блогах

Плагин для Cotonti предоставляет удобный интерфейс для быстрого поиска и просмотра страниц статей, массового редактирования данных различных типов, включая "магические" дополнительные экстраполя

Статус: Опубликован

68

Код pagemassedit

Категория расширения
Администрирование и управление, Блоги, новости, статьи, Утилиты и инструменты
Доступность
Бесплатно

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       # Шаблон админ‑панели

Установка

  1. Скачайте ZIP‑архив плагина из официального репозитория .
  2. Распакуйте архив в папку plugins/ вашего сайта.
  3. Зайдите в админ‑панель Cotonti → Расширения .
  4. Найдите «Page Mass Edit» и нажмите «Установить» .

Плагин сразу готов к работе — перейдите в Инструменты → Page Mass Edit .

Настройка плагина в админке

Все параметры доступны по пути Расширения → Page Mass Edit → Конфигурация .

ПараметрТипПо умолчаниюОписание
perpagestring20Количество страниц, отображаемых на одной странице списка/таблицы.
blacklist_catsstring(пусто)Коды категорий через запятую, которые будут скрыты в выпадающих списках выбора категорий.
show_idradio1Показывать колонку «ID».
show_titleradio1Показывать колонку «Заголовок».
show_aliasradio1Показывать колонку «Алиас».
show_metatitleradio1Показывать колонку «Meta Title».
show_metadescradio1Показывать колонку «Meta Description».
show_keywordsradio1Показывать колонку «Ключевые слова».
show_authorradio1Показывать колонку «Автор».
show_catradio1Показывать колонку «Категория».
show_stateradio1Показывать колонку «Статус».
show_beginradio1Показывать колонку «Начало публикации».
show_expireradio1Показывать колонку «Окончание публикации».
show_fileradio1Показывать колонку «Файл».
show_urlradio1Показывать колонку «URL».
show_parserradio1Показывать колонку «Парсер».
show_updatedradio1Показывать колонку «Изменён».
show_deleteradio1Показывать колонку «Удалить».
show_extrafieldsradio1Показывать колонки дополнительных полей (экстраполя).

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

Использование

  1. Перейдите в Инструменты → Page Mass Edit .
  2. Откроется вкладка «Список страниц» .
  3. Вы можете:
    • Ввести поисковый запрос в поле «Поиск».
    • Выбрать категорию из выпадающего списка.
    • Указать точный ID страницы.
    • Выбрать область поиска: заголовок, заголовок+текст, описание.
  4. Нажмите «Фильтр» — таблица обновится в соответствии с критериями.

Результаты отображаются в таблице с колонками: ID, Заголовок (ссылка на страницу), Категория, Автор, Статус. Предусмотрена пагинация с подсветкой найденных слов.

Массовое редактирование страниц

  1. Перейдите на вкладку «Массовое редактирование» .
  2. При необходимости используйте фильтры (поиск, категория, ID, статус), чтобы сузить список страниц.
  3. Настройте видимость колонок в конфигурации плагина (см. выше) — скройте те поля, которые не собираетесь менять.
  4. Внесите изменения прямо в поля таблицы. Каждое поле можно редактировать независимо.
  5. Нажмите «Сохранить изменения» .

Важно: Плагин обновляет только те поля, значение которых действительно отличается от текущего. Это экономит ресурсы и предотвращает ложные срабатывания триггеров (например, обновление даты изменения).

Массовое удаление: в столбце «Удалить» переключите радиокнопку в «Да» для страниц, которые нужно удалить. При сохранении они будут удалены через стандартную процедуру модуля page (с очисткой кеша, обработкой файлов и т.д.).

Административная панель (две вкладки)

Панель доступна через Админка → Инструменты → Page Mass Edit .

Вкладка «Список страниц»

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

Вкладка «Массовое редактирование»

  • Аналогичная форма поиска и фильтрации (включая фильтр по статусу).
  • Таблица с выбранными администратором колонками.
  • Поля для редактирования: текстовые поля, выпадающие списки (категория, статус, файл, парсер), селекторы дат, чекбоксы.
  • Экстраполя автоматически подгружаются и отображаются в соответствии с их типом.
  • Кнопка «Сохранить изменения» применяет все сделанные правки.
  • Пагинация сохраняет фильтры и номер страницы после сохранения.

Подробное описание каждого файла

pagemassedit.setup.php

Регистрирует плагин в Cotonti и описывает его настройки. 
- Секция [BEGIN_COT_EXT] содержит метаданные: код, имя, категорию, версию, зависимости (page ), права доступа. 
- Секция [BEGIN_COT_EXT_CONFIG] перечисляет все параметры конфигурации с указанием порядка, типа, значения по умолчанию и описания. Эти параметры автоматически появляются в форме настроек плагина.

pagemassedit.admin.php

Главный файл, подключаемый через хук tools . Реализует всю логику админ‑панели:

  1. Подключает необходимые зависимости (pagemassedit , page , functions.php ).
  2. Определяет текущую вкладку и обрабатывает POST‑запросы сохранения.
  3. Вкладка «Список страниц»: формирует SQL‑запрос с динамическим WHERE в зависимости от фильтров, получает данные, строит таблицу, генерирует пагинацию, подсветку слов, передаёт переменные в шаблон.
  4. Вкладка «Массовое редактирование»: 
    • При 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 страниц из категории «Новости», а также изменить их статус на «Опубликован».

  1. Откройте панель «Page Mass Edit», вкладка «Массовое редактирование».
  2. В фильтре выберите категорию «Новости», статус «Все».
  3. В настройках плагина включите показ колонок «Meta Title», «Meta Description», «Статус», остальные можно временно скрыть для удобства.
  4. Внесите нужные изменения в ячейках таблицы. При необходимости скопируйте новые значения из внешнего редактора.
  5. Нажмите «Сохранить изменения». Плагин обработает только те поля, которые были изменены, и выведет сообщение «Обновлено страниц: 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 — массовое редактирование статей в блогах, просмотреть полное описание, детальные характеристики, фото товара и актуальные цены со скидками
С этим товаром, люди часто заказывают: Установка, интеграция и адаптация плагинов под Cotonti CMF.


Рейтинг на основе отзывов:
Звезд получено: 0
Oтзывов всего: 0
Средняя оценка: 0
9 минут чтения
Владелец: Carbonate Sodium

You may have been looking for this for a long time.:

Модуль Market PRO v.5+ для Cotonti CMF.

Отзывы к товарам

Отзывов пока нет


Мультикатегории товара:

Дополнительные категории, в которых этот товар показывается как похожий.
Продавец товара
webitproff

Оффлайн

webitproff

Последняя авторизация: 26.09.2026 15:22

Обо мне кратко
Поддержка и разработка веб-проектов на CMF Cotonti: приватные мессенджеры через сайт, открытые и закрытые небольшие социальные сети, торговые площадки и маркетплейсы, портал биржи фриланса и услуг, каталоги товаров оптовых поставщиков, дропшиппинг-платформы, интернет-магазины и многое другое.
Смотреть разработки и скачать
Публичное портфолио моих работ и разработок
Телеграм для сообщений
@webitproff
Телеграм-канал
@s/aBuyFILE
  • Дата размещения 11.08.2026 23:42
  • Обновлено 13.09.2026 14:13

Обсуждение страницы в Telegram

Последние сообщения

Витрина Market PRO

CMS, Скрипт и Движок - веб сайта онлайн-витрины, интернет магазина инфопродуктов и цифровых товаров. Разные цены в разных валютах на товар. Онлайн-оплата в криптовалюте за товары и услуги.