Модуль для 1С-Битрикс

Виджет правок на сайте на 1С-Битрикс: Управление сайтом — без правки шаблонов. Модуль ставится через Marketplace, дальше только ключ виджета и галочка «только администраторам».

Требования: 1С-Битрикс: Управление сайтом (версия с модулем «Главный модуль» и main:OnEpilog, то есть практически любая) и платный тариф Правки.Про (какие бывают). Скачать модуль: pravkipro-bitrix.zip.

Установка

Доступ в кабинет Правки.Про разработчику клиента не нужен — достаточно ключа виджета и ссылки на эту страницу.

  1. Скачайте модульФайл pravkipro-bitrix.zip — несколько килобайт, только код без картинок и зависимостей.
  2. Загрузите в панель управленияНастройки → Marketplace → Установленные решения → «Из файла», выберите ZIP. Либо распакуйте архив в /bitrix/modules/pravkipro.widget/ по FTP или SSH — результат тот же.
  3. Установите модульНастройки → Настройки продукта → Модули, найдите «Правки.Про — виджет правок» и нажмите «Установить».
  4. Возьмите ключ виджетаВ кабинете Правки.Про: проект → «Виджет на сайте» → «Код для установки». Ключ — значение data-key.
  5. Вставьте ключ в настройки модуляНастройки продукта → Модули → «Правки.Про» → «Настройки». Поле принимает только сам ключ, не строку <script …> целиком.

На экране настроек модуль сам проверит ключ и напишет, принимает ли виджет правки — а если нет, то почему. Кнопка «Правка» появится на всех страницах сайта.

Показывать только администраторам

Приёмка часто идёт на уже открытом сайте. Галочка в настройках модуля оставляет кнопку «Правка» только пользователям, вошедшим в панель управления и состоящим в группе «Администраторы».

  • Посетители не видят ничего. Скрипт виджета вообще не попадает в страницу для обычного посетителя — ни кнопки, ни запросов к Правки.Про, ни лишних килобайт.
  • Одно событие, без правки шаблонов. Модуль вешает единственный обработчик main:OnEpilog — типовой компонентный кеш на это событие не влияет, он кеширует содержимое до футера.

Что попадает в правку

  • Скриншот с выделенным местом — снимок видимой области с рамкой вокруг элемента, по которому кликнул клиент. Разбирать CSS-селектор человеку не нужно.
  • Запись действий — по желанию. Клиент нажимает «Записать действия» и показывает баг курсором. Поля ввода в записи маскируются, запись не идёт фоном.
  • Контекст страницы — адрес, размер окна, браузер и плотность пикселей, чтобы не переспрашивать «а у вас на чём?».
  • Из личного — только имя. Клиент вводит его сам, оно остаётся в localStorage его браузера. Модуль не собирает данные посетителей сайта.

Кнопка «Правка» не появилась

Сначала откройте настройки модуля: он показывает состояние виджета прямо там. Ниже — все причины, по которым виджет молчит.

ПричинаЧто сделать
Виджет выключен в кабинетеПроект → «Виджет на сайте» → переключатель «Виджет включён». Архивный проект тоже гасит виджет.
Не выбран пул для правокВ том же окне выберите пул, в который падают правки с сайта.
Пул закрытЗакрытый и выполненный пул правок не принимает — откройте его или выберите другой.
Пул со сквозным шифрованиемУ сниппета нет пароля пула, шифровать нечем. Нужен обычный пул (подробнее).
Нужен платный тарифВиджет на сайте доступен на платных тарифах Правки.Про.
Домен не разрешёнЕсли в кабинете задан список разрешённых сайтов — добавьте в него адрес этого сайта.
Включена галочка «только администраторам»Тогда кнопку видите только вы, пока вошли в панель управления как администратор. Для клиента её нужно снять.
Модуль не установленНастройки продукта → Модули: у «Правки.Про» должна стоять кнопка «Настройки», а не «Установить».

Разработчику

Сайт не на 1С-Битрикс — модуль не нужен, виджет ставится одной строкой перед закрывающим </body>:

<script src="https://pravki.pro/widget.js" data-key="ВАШ_КЛЮЧ" defer></script>

Модуль — один обработчик события main:OnEpilog (handlers.php) и три опции модуля через COption (key, admins_only, host), без своих таблиц в БД. Показывать виджет по другому условию — правьте PravkiProWidgetHandler::onEpilog() напрямую, это обычный код обработчика, а не то, что нужно переопределять через хуки.

Своя установка Правки.Про — поле «Адрес сервиса» в настройках модуля.

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