Если Вы установили демо-версию модуля и демонстрационный режим истек, но Вы не успели попробовать модуль в работе, сообщите об этом нам, мы можем повторно включить демо-режим. В общем случае, для сброса демо-режима нужно выполнить следующие указания:
создать рез. копию сайта, хотя бы базы данных,
деинсталлировать модуль (все данные будут удалены!),
стереть данный модуль с сайта (соотв. опция доступна в списке модулей),
выполнить SQL-запрос (в админке на соотв. странице в разделе "Инструменты": Административный раздел - Настройки - Инструменты - SQL-запрос):
DELETE FROM `b_option` WHERE `MODULE_ID`='webdebug.antirutin';
сбросить весь кеш на сайте,
сообщить нам адрес сайта и владельца лицензии для проверки и сброса срока демо-версии на Вашем сайте,
после нашего ответа повторно установить модуль из Маркетплейс .
Ни один из наших модулей не имеет никаких ограничений или изменения условий работы в демо-режиме (за исключением механизма сохранения профилей в Антирутине).
Другими словами, никакие проблемы не могут быть связаны с демо-режимом.
Данная проблема возникает обычно в тех случаях, когда модуль ранее уже устанавливался на данном сайте (либо на копии сайта с той же лицензией), повторно установить не позволяет Битрикс.
При этом даже если на сайт впервые установить данный модуль в демо-режиме, и сразу удалить - то повторная установка будет невозможной.
В таком случае выполните все шаги, описанные в пункте «Как продлить DEMO» (если модуля на сайте нет, пункты 2 и 3 пропустить), либо напишите нам, мы поможем установить.
Скачать PDF-файл с документацией можно здесь.
Также не пренебрегайте подсказками в модуле (знаки вопросов в маленьких квадратиках, на них нужно наводить курсор мыши) - мы много работали над тем, чтобы эти подсказки были для Вас полезными.
Алгоритм работы с модулем очень простой:
Создать свой плагин достаточно просто: каждый плагин это папка с файлами в подпапке element или section модуля (/bitrix/modules/webdebug.antirutin/plugins/ -
Плагин, который Вы создаёте, можно наделить самыми разными функциональными возможностями по обработке элементов и разделов, вплоть до генерации PDF-карточек для товаров и экспорта товаров на торговые площадки.
Принцип действия плагина: плагин получает ID элемента, самостоятельно получает необходимые данные и производит необходимые действия. Посмотреть примеры плагина можно в указанной выше папке. После создания плагин нужно подключить к модулю через обработчик.
Информация о создании собственного плагина находится в документации.
Кроме того, в модуле есть готовый плагин «Произвольный PHP-код», в котором можно реализовать всю логику плагина, но в этом варианте не нужно создавать свой плагин и подключать его.
В данном модуле термин «плагин» обозначает отдельное действие, которое можно выбрать для обработки товаров/разделов.
Значение термина «плагин» в данном случае полностью соответствует общепринятому, т.к. каждое действие в данном модуле реализовано отдельным функционалом. Более того, любой программист может добавить свой плагин, выполняются любые уникальные действия, абсолютно любые, например:
Профиль (с точки зрения данного модуля) - это сохраненная совокупность настроек формы для выполнения какого-либо конкретного действия модуля.
Профиль создается просто: выберите инфоблок (и при необходимости - разделы), укажите данные для фильтрации, выберите нужное действие (или несколько действий), укажите настройки выбранный действия, и в нижней правой части формы нажмите «Сохранить профиль», введите название профиля. Все! Профиль сохранен.
Профили обычно используются для двух целей:
Информация по автоматическому запуску размещена в ответе на вопрос «Как выполнять задание автоматически (по крону)?».
Проблема вызывается модуем проактивной защиты. Но, т.к. запрос выполняется через AJAX, предупреждения не видно.
Для решения проблем добавьте исключение в проактивный фильтр.Все логи модуля (как общий, так и логи по каждому из профилей) хранятся в папке /upload/webdebug.antirutin/log/ и имеют вид log_022.d2f06d322d40b85d445178bbe21074ca.log, где log_022 означает что это лог 22го профиля. Общий лог модуля не содержит индекса.
Для того, чтобы протестировать работу модуля на одном товаре, в фильтре необходимо добавить фильтрацию так, чтобы был найден только один товар. Лучший способ это сделать - фильтр по ID (если настроены другие фильтры, нужно все их отменить, кликнув на каждом из них). В форме редактирования товара посмотрите его ID, а затем на странице модуля «Антирутин» добавьте фильтр по ID в секции «Фильтр»:
После настройки Вы увидите что найден один товар:
Новая версия модуля «Антирутин» (начиная с версии 20) поддерживает автоматическую настройку задачи для выполнения планировщиком.
Алгоритм следующий:
Такая задача встречается довольно часто. Например, в некоторых готовых решениях вместо привычных свойств «Новинка», «Спецпредложение», «Лидер продаж» и т.п. имеется одно свойство, содержащее все подобные переключатели, и можно выбрать любые из них - например, сразу «Новинка» и «Лидер продаж». При этом часто у многих товаров нужно массово снять выделение одного из пунктов, например, «Спецпредложение». В решении данной задачи очень сильно поможет данный модуль.
Порядок работы примерно следующий:
Все просто: после добавления каждого нового действия, Вы можете его закрепить (кнопка «Закрепить» в верхнем правом углу каждого действия), тогда оно перейдет в список группы действий.
При сохранении профиля незакрепленное действие (если такое имеется) автоматически закрепляется.
Запуск профиля через API выполняется одной командой:
if(\Bitrix\Main\Loader::includeModule('webdebug.antirutin')){ \WD\Antirutin\Worker::executeProfile(47); }
Таким образом можно, например, запускать обработку профилей после завершения обмена с 1С:
addEventHandler('catalog', 'OnSuccessCatalogImport1C', function(){ if(\Bitrix\Main\Loader::includeModule('webdebug.antirutin')){ \WD\Antirutin\Worker::executeProfile(47); } });При этом нужно понимать, что запуск происходит "здесь же", т.е. синхронно. Если обработка по профилям занимает много времени, обмен с 1С может завершиться ошибкой.
if(\Bitrix\Main\Loader::includeModule('webdebug.antirutin')){ \WD\Antirutin\Worker::executeInBackground([123, 124, 125]); }Здесь 123, 124, 125 - это числовые идентификаторы профилей, которые необходимо запустить.
Таким образом, чтобы после окончания выгрузки из 1С автоматически запустились, например, два профиля с идентификаторами 1000 и 1001, нужно написать на сайте такой обработчик:
addEventHandler('catalog', 'OnSuccessCatalogImport1C', function(){ if(\Bitrix\Main\Loader::includeModule('webdebug.antirutin')){ \WD\Antirutin\Worker::executeInBackground([1000, 1001]); } });Задачи при выполнении логируются (если в настройках модуля включена галочка «Логировать результаты запуска из планировщика») в папку /upload/webdebug.antirutin/log.
Да, модуль корректно работает на версиях PHP 8.0 и 8.1.
Данная задача легко решается плагином «Замены в тексте».
Алгоритм следующий:
Удаление картинок (как и очистка других типов свойств) выполняется плагином «Заполнение значений».
Алгоритм простой:
Для выполнения данного действия используйте плагин «Заполнение по шаблону». Он позволяет заполнить текстовые поля и свойства (описания и прочее), подставляя в нужные места данные из других полей и свойств, например, свойство «Заголовок окна браузера» можно заполнять так:
Купить {=this.Name} по выгодной цене {=this.catalog.price.BASE} в нашем магазине на Цветном бульваре.
Под текстовым полем имеется выпадающий список (с возможностью поиска) для добавления необходимых макросов (макрос - это, например, {=this.Name}) в текстовое поле, при этом макросы подставляются на месте курсора.
Деактивация товара это снятие флажка активности, или, другими словами, установка значения «Нет» в поле активности. Соответственно, для данной цели используется плагин «Заполнение значений». Порядок действий (не включая выбор инфоблока, раздела и фильтра) следующий:
Для массовой генерации символьного кода используется плагин «Генерация символьного кода». Работа с ним проста:
Такая задача встречается достаточно редко, но при этом реализация данной задачи, при большом количестве элементов, затруднительна. Модуль предлагает простое решение:
Обратите внимание, что модуль поддерживает дополнительные функции, которые существенно расширяют круг решаемых задач. Например:
Данную задачу можно решить двумя легкими способами. Если Вам нужно только посмотреть примеры найденных товаров, то используйте первый (простой способ) - нажать на ссылку с количеством найденных товаров.
Если Вам нужен подробный отчет (напр., с получение дополнительных полей и свойств найденных товаров и разделов), то используйте плагин «Логирование»: он специально создан для этой задачи.
Плагин «Логирование» поддерживает выгрузку как в текстовый формат (только ID и названий найденных товаров/разделов), так и в формат CSV (значения, разделенные запятыми) - этот формат подходит для удобного просмотра программой MS Excel (или подобными программами), при этом модуль поддерживает возможность оптимизации экспорта в файл таким образом (параметр «Оптимизировать для MS Excel»), чтобы он лучшим образом выглядел в MS Excel.
При настройке логирования нужно выбрать, какие поля/свойства будут выгружаться в файл - доступны все поля и свойства товаров, включая цены, остатки на складах, SEO-поля и др.
Данная задача - одна из наиболее часто встречаемых. Одним из подвариантов задачи является случай, когда нужно, например, перенести все товары одного бренда в отдельный раздел. Или, например, товары с ценой ниже 1000руб дополнительно привязать в разделу «недорогие товары». Или, например, все товары перенести в корень сайта чтобы удалить все разделы и создать новую структуру.
Алгоритм следующий:
Да, модуль может массово удалить товары, для этого используйте плагин «Удаление элементов» - этот плагин не имеет настроек, после запуска он просто удаляет все отобранные элементы.
Будьте осторожны, удаляя элементы - это действие необратимо (кстати, у нас есть модуль, который позволяет восстанавливать удаленные элементы, разделы, заказы и др - но он работает только если его установить заранее).
Эта задача - одна из наиболее часто встречающихся: на многих сайтах имеются изображения, которые загружены на сайт в излишне большом разрешении.
Для данной задачи уменьшения разрешения изображений создан плагин «Изменение размера изображений». Порядок работы с ним следующий:
После обработки изображение перезапишет оригинальное изображение. Если такое для вашего случая недопустимо, то используйте данный плагин в сочетании с плагином копирования значений - сначала копируйте картинку в отдельное свойство, а уже в этом свойстве производите уменьшение изображений - в таком случае все оригиналы будут сохранены.
Копирование картинки из одного свойства в другое - простейшая задача для данного модуля. Используйте плагин «Копирование значений». Все, что нужно указать в настройках этого плагина - откуда копировать и куда копировать. Больше ничего не требуется настраивать.
Дополнительный параметр «Какое значение копировать?» можно выбирать любым (поддерживаются все кроме «Описание файла»), но с точки зрения производительности лучше «Путь к файлу (абсолютный)».
В модуле имеется плагин «Поиск битых картинок», который позволяет для каждого файла найти файловые поля и свойства, и проверить, доступен ли каждый из файлов. Если не доступен - тогда товар будет логироваться (сохраняться) в файл для дальнейшего анализа.
Данный плагин основан на плагине «Логирование», и имеет точно такие же настройки, плюс он имеет собственную настройку «Удалить битые картинки из полей и свойств». В списке доступных для логирования полей, помимо прочего, доступно специальное поле «Битые изображения [PICTURES_BROKEN]» - в него будет сохраняться недоступная ссылка на файл.
В модуле имеется плагин «Пересчет цен (скидки, наценки, изменение валюты)», который позволяет производить различные операции с ценами:
Используйте действие (плагин) «Замены в тексте». Алгоритм настройки:
Произвольный код предполагает выполнение любого PHP-кода на сайте. Для достижения результата необходимо учитывать некоторые нюансы:
$intLinkIBlockId = 2; $strPropName = 'LINK_NAME'; $strPropValue = 'LINK_VALUE'; $arSelect = ['PROPERTY_'.$strPropName, 'PROPERTY_'.$strPropValue]; $arFilter = ['IBLOCK_ID' => $this->intIBlockId, 'ID' => $intElementId]; if($arOffer = \CIBlockElement::getList([], $arFilter, false, false, $arSelect)->fetch()){ if(strlen($arOffer['PROPERTY_'.$strPropName.'_VALUE'])){ $arFilter = ['IBLOCK_ID' => $intLinkIBlockId, '=NAME' => $arOffer['PROPERTY_'.$strPropName.'_VALUE']]; if($arLink = \CIBlockElement::getList([], $arFilter, false, false, ['ID', 'NAME'])->fetch()){ \CIBlockElement::setPropertyValuesEx($intElementId, $this->intIBlockId, [ $strPropValue => $arLink['ID'], ]); } } } return true;
Внимание! Повторная установка в демо-режиме приведет к окончанию демо‑режима и невозможности использовать модуль.
Если Вы не успели попробовать модуль, напишите нам, мы поможем