Редактор темы

Вопрос? Топ 100 imdb в dle

  • Автор темы Автор темы sunx
  • Дата начала Дата начала

sunx

PRO Users
Регистрация
9 Ноя 2015
Сообщения
275
Рейтинг реакций
107
Баллы
43
1/3
Автор темы
Как у вас организован топ 100 IMDB (или же Кинопоиска)? Возможно есть какой-то модуль, парсер, ваши наработки?

Мои варианты.
Понятно, что весь этот топ можно вывести оформив и перечислив id новостей в статической странице/tpl шаблоне. Но это ручная работа, статические данные без автоматического обновления.
Второй вариант:
Сортировать по числовому значению доп. поля рейтинг, используя один из модулей PunPun либо что-то подобное, но и тут проблема. У меня на сайте есть фильмы у которых рейтинг, к примеру 8.5, но в топ 100 IMDB их нет (Европейское фестивальное кино, украинские фильмы, документалистика), хотя, по такой логике, они должны быть, потому как в топ 100 IMDB есть фильмы с рейтингом 8.3, т.е. сам IMDB формирует рейтинг не только по числовому значению. Скорее всего там еще идет какая-то выборка, возможно количество проголосовавших или еще что-то - В общем, рейтинг только по числовому значению будет неточным.

В принципе, пока писал, все таки начал склоняться к первому варианту. Так будет, наверное, легче всего добиться нужного результата.
Тем не менее, если у вас есть какие-то мысли, пишите )
 
Как у вас организован топ 100 IMDB (или же Кинопоиска)? Возможно есть какой-то модуль, парсер, ваши наработки?

Мои варианты.
Понятно, что весь этот топ можно вывести оформив и перечислив id новостей в статической странице/tpl шаблоне. Но это ручная работа, статические данные без автоматического обновления.
Второй вариант:
Сортировать по числовому значению доп. поля рейтинг, используя один из модулей PunPun либо что-то подобное, но и тут проблема. У меня на сайте есть фильмы у которых рейтинг, к примеру 8.5, но в топ 100 IMDB их нет (Европейское фестивальное кино, украинские фильмы, документалистика), хотя, по такой логике, они должны быть, потому как в топ 100 IMDB есть фильмы с рейтингом 8.3, т.е. сам IMDB формирует рейтинг не только по числовому значению. Скорее всего там еще идет какая-то выборка, возможно количество проголосовавших или еще что-то - В общем, рейтинг только по числовому значению будет неточным.

В принципе, пока писал, все таки начал склоняться к первому варианту. Так будет, наверное, легче всего добиться нужного результата.
Тем не менее, если у вас есть какие-то мысли, пишите )

Мне было влом вручную это делать...я спарсил названия топ 100 с имдб, спарсил свою базу, дал сравнения типа одинаковое подсветить, удалил лишние, удалил названия, остались ссылки, там уже подчистил чтобы id только остались. Зайняло минут 10-15...но уже не вручную ГЫ 🙂

Но тепреь когда хотелось бы разные топ-100, то есть идея просто спарсить эти топы с кинопоиск по их ID. И уже на статической вывести через кастом с указанием id kinopoiska. Но, динамических изминений не будет, и чёт не получается у меня спарсить с кинопоиска 😀
 
  • Нравится
Реакции: sunx
block pro
там вроде как фильтр по доп.полям есть
 
Как у вас организован топ 100 IMDB (или же Кинопоиска)? Возможно есть какой-то модуль, парсер, ваши наработки?

Мои варианты.
Понятно, что весь этот топ можно вывести оформив и перечислив id новостей в статической странице/tpl шаблоне. Но это ручная работа, статические данные без автоматического обновления.
Автоматизация первого варианта.
Открыть engine/modules/functions.php найти код
PHP:
if ($match[1] == "rand" ) { $fixed = ""; $news_msort = ""; }
Выше вставить
PHP:
if ($match[1] != 'rand' && $match[1] != 'id_as_list') {
    $match[1] = $db->safesql($match[1]);
    $news_sort = "ABS(SUBSTRING_INDEX(SUBSTRING_INDEX(xfields, '{$match[1]}|', -1), '||', 1))";
}

Потом на статической странице делаешь
Код:
{custom template="top_imdb" available="static" limit="100" order="imdb_rating" sort="desc" cache="yes"}
Указываешь вместо xfield_rating просто доп поле с рейтингом imdb и kinopoisk.
 
Автоматизация первого варианта.
Открыть engine/modules/functions.php найти код
PHP:
if ($match[1] == "rand" ) { $fixed = ""; $news_msort = ""; }
Выше вставить
PHP:
if ($match[1] != 'rand' && $match[1] != 'id_as_list') {
    $match[1] = $db->safesql($match[1]);
    $news_sort = "ABS(SUBSTRING_INDEX(SUBSTRING_INDEX(xfields, '{$match[1]}|', -1), '||', 1))";
}

Потом на статической странице делаешь
Код:
{custom template="top_imdb" available="static" limit="100" order="imdb_rating" sort="desc" cache="yes"}
Указываешь вместо xfield_rating просто доп поле с рейтингом imdb и kinopoisk.
Здравствуйте, очень пригодилось, только можно сделать так, чтобы обычный order="rating" (и др.) продолжал сортировать по сумме оценок, стандартно, а то из-за хака все сбивается.
 
Последнее редактирование:
Здравствуйте, очень пригодилось, только можно сделать так, чтобы обычный order="rating" (и др.) продолжал сортировать по сумме оценок, стандартно, а то из-за хака все сбивается.
Эту строку
PHP:
if ($match[1] != 'rand' && $match[1] != 'id_as_list') {
Замените на
PHP:
if ($match[1] != 'rand' && $match[1] != 'id_as_list' && !$allowed_sort[$match[1]]) {
 
PunPun, что то в 14.1 не сортирует как надо, выводит рандомно, а не по рейтингу кинопоиска. Есть варианты, что может быть не так?
 

Похожие темы Последние темы Популярные темы

Назад
Сверху