Стояла задача интегрировать в DLE рейтинг Кинопоиска и по возможности — IMDB. Поискав готовые решения, нашел несколько подходящих, но состоящих из нескольких файлов, а также попались варианты с интеграцией в базу данных DLE. В итоге прикрутил маленький скрипт о котором и распишу ниже.
Источник рейтингов
Ниже код *.xml код, который Кинопоиск автоматически генерирует под каждую карточку фильма и дает возможность бесплатно считывать данные.
В данном случае представлен рейтинг, как самого Кинопоиска, так и американского IMDB. иными словами, все уже готово и нужно лишь написать парсер, который зайдет по нужной ссылке и считает эти данные.
Код ниже, как и в случае с Youtube, имеет общий связующий параметр с карточкой фильма и данной страницей — номер фильма (738).
http://www.kinopoisk.ru/film/738/
http://rating.kinopoisk.ru/738.xml
<rating>
<kp_rating num_vote="55002">
8.253
</kp_rating>
<imdb_rating num_vote="68773">
7.5
</imdb_rating>
</rating>
С xml я до сих пор не подружился – лень и нашел в сети уже готовое интересное решение из двух файлов: js – который парсит числа и передает на наш сайт и css – стилизация всего этого!
Парсинг XML на Кинопоиске
Для рейтинга с Кинопоиска парсинга воспользуемся уже готовым решением отсюда: https://github.com/dyadyavasya/kinopoisk, в котором используется всего два файла и их минифицированные (сжатые) версии.
- kinopoisk.js;
- kinipoisk.css
Для начала необходимо скачать javaScript и CSS файлы и поместить в свой шаблон в папки по умолчанию, например /{THEME}/js и
/{THEME}/css после чего вывести их в шаблон стандартной записью:
<link rel="stylesheet" type="text/css" href="{THEME}/css/kinopoisk.min.css" />
<script src="{THEME}/js/kinopoisk.min.js"></script>
Настройка шаблона
Далее создаем дополнительное поле с любым названием, например, наиболее тематическое “kinopoisk” и выводим его на сайте в шаблоне fullstory.tpl
<div class="kinopoisk" data-movie="[xfvalue_kinopoisk]" data-order='["imdb", "kinopoisk"]'></div>
Заходим на кинопоиск, находим необходимый фильм, смотрим его номер и вписываем в доп. поле. Остальное скрипт делает сам!
Например, для фильма выше номером будет 738.
Комментарии