Данный метод синхронизации позволяет сохранять отзывы Cackle в базу данных вашего локального сервера для хранения и индексации поисковыми системами, а также обновлять статусы и сообщения отзывов
include_once(dirname(__FILE__) . '/cackle_review.php');
$product_id = 12; //идентификатор страницы с отзывом
$a = new CackleReview(true,$product_id);
Мы крайне рекоммендуем при интеграции смотреть на код реализованные в Общем решении на PHP указанный выше. Тем не менее, ниже будет описан общий алгоритм синхронизации.
{ "id":18874, "siteId":28333, "star":5, "pros":"Pros test", "cons":"Cons test", "comment":"Comment test", "media":"http://media.cackle.me/ba45c8f60456a672e003a875e469d0eb.jpg", "up":0, "down":0, "created":1417596224333, "status":"approved", "details":[], "author": { "id":72343, "email":"email@gmail.com", "name":"Author name", "www":"https://plus.google.com/link_to_google", "provider":"googleplus", "openId":"https://plus.google.com/openId" } }, "chan": { "id":12024, "channel":"13", "url":"http://localhost/cackle_review/cackle/page.php", "title":""}, "ip":"91.202.45.183", "modified":"1417596224333" }}
Для сохранения Cackle отзывов в локальную базу данных, необходима таблица со следующими полями:
После того как таблица, в которую вы будете сохранять отзывы готова, можно приступить к реализации процесса синхронизации отзывов. Первое, что вам нужно сделать - это контроллер, который бы запрашивал Cackle отзывы раз в 5 минут. Отзывы доступны по следующему адресу API:
Где siteId (siteId), siteApiKey (Site API Key) и accountApiKey (Account API Key) можно получить в панели администратора на вкладке "Установить", снизу выбрав WordPress плагин, как показано на рисунках ниже:
Необязательный параметр modified - время последнего изменения. То есть, данный запрос вернет все отзывы modified которых больше чем modified в запросе. Все возвращаемые отзывы упорядочены по review_id.
Необязательный параметр size - возвращает опр.кол-во отзывов
Необязательный параметр page - возвращает отзывы с определенной (page) страницы. Это необходимо если кол-во отзывов превышает size.
Итак у нас есть контроллер, который раз в 5 минут запрашивает отзывы, отсортированные по id. После каждого такого запроса, необходимо либо сохранить отзывы в базу данных либо обновить статус сообщений. Далее необходимо сохранить максимальный review_id и modified. Далее, в следующем запросе, передать максимальный modified в modified параметре API запроса.
Алгоритм:
$since = "SELECT MAX(modified) FROM reviews"
&modified={$since}
$since
Наконец, после того как Cackle отзывы оказались в вашей локальной базе данных, вы можем вывести их на HTML страницу для поисковой индексации, в следующем виде:
<div id="mc-review"> [... отрисуйте отзывы из локальной базы данных тут ...] </div> <script> document.getElementById('mc-review').innerHTML = ''; [... Cackle код виджета отзывов ...] </script>