Описание:
За основу был взят модуль MSW с сайта 0-web.ru. Публикуется с его разрешения.
Начнем с того, что я не программист и многих вещей не знаю (не понимаю), но очень люблю ковырять чужой код, чтобы для себя слепить что-нибудь интересное.
Модуль выводит текстовые средние значения рейтинга и голосов с Кинопоиска и IMDB. Данные не кешируются! Я не знаю как работать с кешем DLE, если кто-то допишет этот функционал, то мы все будем только рады
Установка: Создайте доп. поле к новостям с фильмами:
Название поля: kp
Описание поля: ID фильма на КиноПоиске
Категория: /*выбрать категории с фильмами*/
Тип поля: одна строка
Значение по умолчанию: Создайте файл kinopoisk.php с таким содержимым: Код
if( ! defined( 'DATALIFEENGINE' ) ) {
die( "Hacking attempt!" );
}
$kinopoisk = xfieldsdataload($row['xfields']);
$kinopoisk['kp'] = preg_replace('#<(.+?)>#', '', $kinopoisk['kp']);
$kinopoisk = $kinopoisk['kp'];
$rating = file_get_contents("http://rating.kinopoisk.ru/{$kinopoisk}.xml");
preg_match("/kp_rating num_vote=['\"](.+)['\"]>(.+) $kino_rating = $kp[2];
$kino_votes = ($kino_rating) ? $kp[1] : "";
$kino_votes = $kino_votes;
preg_match("/imdb_rating num_vote=['\"](.+)['\"]>(.+) $imdb_rating = $imdb[2];
$imdb_votes = ($imdb_rating) ? $imdb[1] : "";
$imdb_votes = $imdb_votes;
if ($imdb_rating =='') {
$kino_rate = round(($kino_rating), 1);
$sum_vote = number_format($kino_votes);
} elseif ($kino_rating =='') {
$kino_rate = round(($imdb_rating), 1);
$sum_vote = number_format($imdb_votes);
} else {
$kino_rate = round(($kino_rating+$imdb_rating)/2, 1);
$sum_vote = number_format(($kino_votes+$imdb_votes)/2);
};
$tpl->set('{kinopoisk}', $kino_rate);
$tpl->set('{kinopoisk_vote}', $sum_vote);
?>
И поместите его к себе в
/engine/modules В файле
show.full.php добавьте:
Код
require_once ROOT_DIR.'/engine/modules/kinopoisk.php';
После:
Код
$tpl->set( '[/full-link]', "</a>" );
Используйте в своем fullstory.tpl:
Код
{kinopoisk} - цифровой рейтинг
{kinopoisk_vote} - количество голосов