вопрос
Здравствуйте. Подскажите пожалуйста как вывести рейтинг в похожих новостях? Пробовал в show.full.php после
но рейтинг не выводит, скорее всего нужно добавить запрос и возможно не в том месте вставил код.
Подскажите пожалуйста как решить вопрос.
if( dle_strlen( $related['title'], $config['charset'] ) > 150 ) $related['title'] = dle_substr( $related['title'], 0, 150, $config['charset'] ) . " ...";добавить этот код
но рейтинг не выводит, скорее всего нужно добавить запрос и возможно не в том месте вставил код.
Подскажите пожалуйста как решить вопрос.
Для начала нужно изменить запрос к БД, т.к. по-умолчанию данные о рейтинге для похожих публикаций оттуда не взимаются.
Открыть /engine/modules/show.full.php, найти строку:
и заменить ее на:
$db->query( "SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name, e.allow_rate, e.rating, e.vote_num, e.votes FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE id IN({$row['related_ids']}) ORDER BY id DESC");
Затем найти строку:
и после нее вставить:
Открыть /engine/modules/show.full.php, найти строку:
$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE id IN({$row['related_ids']}) ORDER BY id DESC");
и заменить ее на:
$db->query( "SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name, e.allow_rate, e.rating, e.vote_num, e.votes FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE id IN({$row['related_ids']}) ORDER BY id DESC");
Затем найти строку:
$tpl2->set( '{link-category}', $my_cat_link );
и после нее вставить:
if( $related['allow_rate'] ) {
$tpl2->set( '{rating}', ShowRating( $related['id'], $related['rating'], $related['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) );
$tpl2->set( '{vote-num}', "".$related['vote_num']."" );
$tpl2->set( '[rating]', "" );
$tpl2->set( '[/rating]', "" );
} else {
$tpl2->set( '{rating}', "" );
$tpl2->set( '{vote-num}', "" );
$tpl2->set_block( "'\\[rating\\](.*?)\\[/rating\\]'si", "" );
}