Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Вывод рейтинга в похожих новостях

Вывод рейтинга в похожих новостях


     05.12.2012    Рейтинг, похожие новости    Все вопросы » Общие вопросы по PHP    5230

вопрос
Здравствуйте. Подскажите пожалуйста как вывести рейтинг в похожих новостях? Пробовал в show.full.php после
if( dle_strlen( $related['title'], $config['charset'] ) > 150 ) $related['title'] = dle_substr( $related['title'], 0, 150, $config['charset'] ) . " ...";
добавить этот код

но рейтинг не выводит, скорее всего нужно добавить запрос и возможно не в том месте вставил код.
Подскажите пожалуйста как решить вопрос.

Ответил: BR0kEN


Для начала нужно изменить запрос к БД, т.к. по-умолчанию данные о рейтинге для похожих публикаций оттуда не взимаются.

Открыть /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", "" );
                    }

1 комментарий

kovalenko3331
Юзер

kovalenko3331 - 6 декабря 2012 08:43 -

BR0KEN! Спасибо работает!

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх