PraisovedSync

Клиент сервиса Прайсовед для MiniShop3
Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Автор дополнения
Douglas Quaid
Пакетов
12
Закачек
485
Автор дополнения
Пакетов
12
Закачек
485
Версия 3.0.36-pl
Дата выпуска 20.08.2026
Загрузки 1
Просмотры 169
Внимание, этот компонент требует 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