new

PraisovedSync

Клиент сервиса Прайсовед для MiniShop3
Версия 3.0.43-pl
Дата выпуска 10.09.2026
Загрузки 1
Просмотры 186
Внимание, этот компонент требует PHP 8.2 или выше!
Внимание, этот компонент требует MODX 3 или выше.
PraisovedSync — клиент сервиса Прайсовед

Цены и остатки в магазине на miniShop3 обновляются сами — из прайсов
поставщиков, сведённых в один каталог.

— Зачем это нужно

Поставщики присылают прайсы в разных файлах, с разными названиями и своими
артикулами. Свести их в один каталог, понять, у кого дешевле, и перенести
результат в магазин — работа на несколько дней, и делать её приходится после
каждого прайса.

Прайсовед praisoved.com/ делает эту работу за вас: принимает прайсы,
сводит одинаковые товары, считает цену по вашим правилам. PraisovedSync —
половина, которая живёт на сайте. Он отдаёт сервису каталог магазина и
привозит обратно готовые цены.

Каталог остаётся вашим и остаётся в miniShop3. Компонент ничего не переносит и
не перестраивает — он только обновляет цифры.

Компонент работает в паре с сервисом: нужна учётная запись на praisoved.com.

Что он делает

Привозит в магазин:

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

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

Чего он не делает

Здесь важно то, чего компонент не умеет, — чтобы не ждать от него лишнего:

— не создаёт и не удаляет товары — только обновляет то, что уже есть;
— не трогает названия, описания, картинки, артикулы, категории и
производителей;
— не заводит характеристики и поля, которых на сайте нет;
— не касается заказов, покупателей, скидок и складов;
— отката одной кнопкой нет — журнал хранит прежнее значение рядом с новым, и
вернуть можно руками, но автоматически компонент этого не сделает.

Чтобы не испортить магазин

Обмен цен — вещь, которая ломает витрину быстро и молча. Поэтому:

— Предпросмотр включён сразу после установки. Компонент покажет, что изменил
бы, и не запишет ничего, пока вы сами не выключите эту настройку. Кнопка
«Синхронизировать» обойти её отказывается.
— Недокачанный файл не меняет ничего. У файла обмена есть отметка конца; нет
отметки — обмен отклоняется целиком. Иначе оборванная закачка выглядела бы как
«у всех товаров кончился остаток».
— Порог изменения цены. Файл двигает цены сильнее разрешённого — обмен
останавливается и ничего не пишет.
— Сначала план, потом запись. Сперва считается, что изменится, затем
проверяются пределы, и только после этого товары обновляются.
— Товары обновляются процессором самого miniShop3 — так же, как если бы вы
правили их руками в админке. Плагины других компонентов при этом срабатывают
как обычно.
— Один несохранившийся товар не обрывает обмен: его номер и причина попадают в
журнал.
— Ссылка обмена обязана быть https, сертификат проверяется.

## Как товар находится

По номеру товара на сайте, а артикул служит проверкой «тот ли это товар».
Номер сервис узнаёт из вашей же выгрузки; артикул ловит случай, когда каталог с
тех пор поменялся. Разошлись — товар не трогается, и вы увидите это в журнале.

Артикулы в магазине для обмена не обязательны. Они нужны там, где номера нет:
например, если каталог загружен в сервис своим файлом. Повторяющиеся артикулы
компонент пропускает целиком, а не выбирает наугад один из двух.

Что видно в админке

Отдельный раздел панели MODX:

— Обмен — состояние (чего не хватает для работы), кнопки «Предпросмотр»,
«Синхронизировать», «Отдать каталог», и журнал: сколько строк, сколько
совпало, сколько изменилось, сколько времени заняло.
— Что изменилось — по каждому обмену таблица со старым и новым значением
каждого поля.
— Как это работает — руководство прямо в админке, с готовой строкой крона,
в которой уже подставлен путь к вашему сайту.

Прав доступа три: смотреть, запускать, чистить журнал.

Работа по расписанию

Обычный системный крон, раз в час:

0 * * * * /usr/bin/php /path/to/site/core/components/praisovedsync/cron/sync.php --quiet

Два наложившихся запуска не подерутся — стоит файловый замок. После приёма цен
скрипт сам отдаёт каталог, если пришло время.

## Требования

— MODX Revolution 3.0 и новее
— miniShop3
— PHP 8.2 и новее
— MySQL / MariaDB
— учётная запись на praisoved.com/

## Настройка за четыре шага

1. Установить пакет.
2. Вставить персональную ссылку обмена из личного кабинета сервиса в настройку
«Ссылка обмена».
3. Указать колонку с артикулами (по умолчанию `article`) и нажать
«Предпросмотр» — посмотреть, что компонент собирается изменить.
4. Устраивает — выключить «Только предпросмотр», включить «Обмен по расписанию»
и добавить строку крона.

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

Последние обсуждения в сообществе MODX.pro