Модуль для 1С-Битрикс
Виджет правок на сайте на 1С-Битрикс: Управление сайтом — без правки шаблонов. Модуль ставится через Marketplace, дальше только ключ виджета и галочка «только администраторам».
Требования: 1С-Битрикс: Управление сайтом (версия с модулем «Главный модуль» и main:OnEpilog, то есть практически любая) и платный тариф Правки.Про (какие бывают). Скачать модуль: pravkipro-bitrix.zip.
Установка
Доступ в кабинет Правки.Про разработчику клиента не нужен — достаточно ключа виджета и ссылки на эту страницу.
- Скачайте модульФайл
pravkipro-bitrix.zip— несколько килобайт, только код без картинок и зависимостей. - Загрузите в панель управленияНастройки → Marketplace → Установленные решения → «Из файла», выберите ZIP. Либо распакуйте архив в
/bitrix/modules/pravkipro.widget/по FTP или SSH — результат тот же. - Установите модульНастройки → Настройки продукта → Модули, найдите «Правки.Про — виджет правок» и нажмите «Установить».
- Возьмите ключ виджетаВ кабинете Правки.Про: проект → «Виджет на сайте» → «Код для установки». Ключ — значение
data-key. - Вставьте ключ в настройки модуляНастройки продукта → Модули → «Правки.Про» → «Настройки». Поле принимает только сам ключ, не строку
<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() напрямую, это обычный код обработчика, а не то, что нужно переопределять через хуки.
Своя установка Правки.Про — поле «Адрес сервиса» в настройках модуля.
Ключ виджета не секрет: он и так виден в исходном коде страницы и позволяет только создавать правки в целевом пуле — прочитать им нельзя ничего. Чтобы виджет не работал на посторонних сайтах, задайте в кабинете список разрешённых доменов.