Переписать парсер litres.ru под miniShop2
Переписать парсер litres.ru под miniShop2
Здравствуйте, коллеги. Из-за нехватки времени, нет возможности заняться одним проектом. Есть партнёрка litres.ru, хочется оформить всё это дело под miniShop2, а для этого нужно переписать парсер под xPDO (или MODX API).
Вот собственно что у них есть https://www.litres.ru/o-kompanii/partnerskie-progr...
Из предложенных заготовок плагин для вордпресса и DLE drive.google.com/drive/u/0/folders/0B3zOoAR4NvuKfk dDRmFFY2F4ZTRWS1l2QWs5RkpaWmpVVXMtVmNuUzJPUk8xWWZ6 Sk5hTVE
А также документация по API
Вообщем что было сделано, загружена таблица на 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:https://www.litres.ru/o-kompanii/partneram/partner... проставить ссылки на отрывки.
Если на вашем сайте есть онлайн-чтение, то оно подрезается до 20%. Для этого нужно найти в движке место, где выводятся страницы чтения и подрезать объем текста до необходимых процентов. В конце такого чтения также проставляется ссылка на покупку книги на Литрес.