Данная библиотека является только одной из возможных реализаций, она не включает в себя выгрузку в локальную базу и закрузку комментариев из локальный базы в систему Recobox. Библиотека работает на основе HTTP уведомлений.
Пример использования:
<div id="rcb-comments"> <?php require_once 'recobox/recobox.php'; $recobox = new Recobox(); echo $recobox->getCommentsFormChannel(); ?> </div> <script type="text/javascript"> RCB = window.RCB || []; RCB.push({widget:"Comments",id: 10,}); (function() { var RCBS = document.createElement("script"); RCBS.type = "text/javascript"; RCBS.async = true; RCBS.src = "https://recobox.ru/widget/widget.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(RCBS, s.nextSibling); })(); </script>
Заметьте что php код добавлен к контейнер где будет выводится виджет комментариев, это нужно для того чтобы после того как сервер выведет комментарии из локальной базы, они затерлись самим виджетом. Так поисковые системы смогут проиндексировать комментарии.
require_once 'recobox/recobox.php';
Подключаем класс для выгрузки комментариев из локальной базы.
$recobox = new Recobox(); echo $recobox->getCommentsFormChannel();
Создаем новый экземпляр и вызываем метод который получит из базы комментарии для текущей страницы.
У создании нового экземпляра класса есть 2 опции:
$recobox = new Recobox([ 'channel_with_query' => false, // по умолчанию 'comments_limit' => 100 // по умолчанию ]);
По умолчанию метод getCommentsFormChannel()
получает комментарии на основе url текущей страницы, т.е. если url имеет вид http://site.ru/test, то канал будет /test.
Если имеет вид http://site.ru/test?p=param1&p2=param2, то канал все равно будет иметь значение /test.
Но если активировать опцию 'channel_with_query' => true
, то канал уже будет с параметрами /test?p=param1&p2=param2
Опция comments_limit
говорит сколько последних комментариев получать из базы.
Метод getCommentsFormChannel()
можно вызывать с параметром названия канала, но по умолчанию название канала берется из url по правилам описанным выше.
В папке recobox есть php class для работы с базой данных safemysql.class.php
, на 77 строке необходимо указать данные базы данных где будут храниться добавляемые комментарии(сервер, имя базы, имя пользователя и пароль).
Файл recobox_request.php
принимает HTTP уведомления от Recobox и работает с базой. Путь к этому скрипту необходимо указать в настройках HTTP уведомлений виджета.
Файл tables.sql
содержит структуру двух таблиц для базы данных.