Переписать парсер litres.ru под miniShop2

3 3 500
Здравствуйте, коллеги. Из-за нехватки времени, нет возможности заняться одним проектом. Есть партнёрка litres.ru, хочется оформить всё это дело под miniShop2, а для этого нужно переписать парсер под xPDO (или MODX API).

Вот собственно что у них есть www.litres.ru/o-kompanii/partnerskie-programmy/referalnye-partnery/#q-7-2

Из предложенных заготовок плагин для вордпресса и DLE drive.google.com/drive/u/0/folders/0B3zOoAR4NvuKfkdDRmFFY2F4ZTRWS1l2QWs5RkpaWmpVVXMtVmNuUzJPUk8xWWZ6Sk5hTVE

А также документация по API www.litres.ru/static/get_fresh_book.zip

Вообщем что было сделано, загружена таблица на 250к книг, но последняя запись добавленная за 20.02.2018

Все запросы идут с подключением mysql_, у меня не работает, т.к. на сервере нативный PHP 7.0.30. Вообщем нужно импортировать с API все книги и этот файл повесить на крон, чтобы он проходил по всей базе и при необходимости менял статус в поле options.

Собственно вот описание что из себя представляет тот или иной файл:

Описание скриптов для синхронизации с каталогом litres.ru

• Ниже описание php-скриптов (примеры php для Wordpress и DLE в архивах). Cкрипты необходимо настраивать и тестировать, докручивать под свой сайт. К сожалению, создать универсальный скрипт нельзя, т.к. все хранят данные по разному (в разных полях).
• Мы можем сами поставить и настроить скрипты под ваш сайт бесплатно, в таком случае необходимо предоставить ФТП/Шел доступ.

import_litres_data.php — импортирует данные из xml потока Литреса в локальную sql базу партнера (в таблицу litres_data).
Настройки и допиливания не требует, универсален для всех.
Данный скрипт должен выполняться раз в сутки по Cron*

litres_data.zip — таблица litres_data с данными актуальными на 13.04.2015. Дамп из нее нужно развернуть в локальной БД партнера.

config.php — настраивается доступ к базе партнера, в основном через инклуд конфиг движка сайта.

compare_bases.php — сравнение базы книг литрес (из таблицы litres_data) и локальных книг партнера. По результатам сравнения:
— либо проставляется метка в поле xfields (для DLE движка);
— либо составляется таблица соответствий локальных книг и литресных;
— либо в поле full_story (для WP движка) вырезается ссылка на скачивание и вставляется ссылка на литрес.
Данный скрипт должен выполняться раз в сутки по Cron.

functions.php — здесь находятся функции используемые в compare_bases.php. Тщательно настраиваются под каждого партнера. Универсального решения нет.

checklist.php — выводит в браузер список не совпавших книг.

litres_books.php — используется для добавления литресных книг на сайт партнера. Тщательно настраиваются под каждого партнера. Универсального решения нет.

*Cron — утилита linux для выполнения заданий по расписанию. Cron-задания должны ставиться в админ-панели хостинга.

• Кроме того, по результатам сравнения для каждой совпавшей книги мы знаем соответствующий hub_id. По нему мы можем (руководствуясь мануалами по API: www.litres.ru/o-kompanii/partneram/partnerskaya-programma/api/ ) проставить ссылки на отрывки.
• Если на вашем сайте есть онлайн-чтение, то оно подрезается до 20%. Для этого нужно найти в движке место, где выводятся страницы чтения и подрезать объем текста до необходимых процентов. В конце такого чтения также проставляется ссылка на покупку книги на Литрес.
SEQUEL.ONE
SEQUEL.ONE
16 октября 2018, 22:46
modx.pro
1 883