Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » Количество просмотров и комментариев в {related-news}

Количество просмотров и комментариев в {related-news}


     21.02.2014    related-news    Все вопросы » Хаки    4565

вопрос
Как вывести количество просмотров и комментов в блоке похожих новостей?
Где-то тут есть бесполезная ветка для старых версий движка, по той инструкции ничего не робит на dle 10.1

Ответил: vitnet


engine/modules/show.full.php
найти
                if ( $row['related_ids'] ) {
                    $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");
                    $first_show = false;
                } else {

заменить на
                if ( $row['related_ids'] ) {
                    $db->query("SELECT id, date, short_story, xfields, title, category, alt_name, news_read, comm_num FROM " . PREFIX . "_post LEFT JOIN " . PREFIX . "_post_extras ON (" . PREFIX . "_post.id=" . PREFIX . "_post_extras.news_id) WHERE id IN({$row['related_ids']}) ORDER BY id DESC");
                    $first_show = false;
                } else {

далее найти
                    $db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE {$allowed_cats} MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve=1" . $where_date . " LIMIT " . $config['related_number'] );

заменить на
                    $db->query( "SELECT id, date, short_story, xfields, title, category, alt_name, news_read, comm_num FROM " . PREFIX . "_post LEFT JOIN " . PREFIX . "_post_extras ON (" . PREFIX . "_post.id=" . PREFIX . "_post_extras.news_id) WHERE {$allowed_cats} MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve=1" . $where_date . " LIMIT " . $config['related_number'] );

далее найти
                    $tpl2->set( '{category}', $my_cat );

ниже добавить
                    $tpl2->set( '{views}', intval( $related['news_read'] ) );
                    $tpl2->set( '{comms}', intval( $related['comm_num'] ) );

reladednews.tpl
{views} кол. просмотров
{comms} кол. комментариев

3 комментария

vitnet
PHP-developer

vitnet - 21 февраля 2014 11:11 -

Нужно смотреть show.full.php, вечером скину

coolteams
Юзер

coolteams - 23 февраля 2014 16:53 -

Отлично. Спасибо, все работает)

coolteams
Юзер

coolteams - 9 марта 2014 23:50 -

Поправка небольшая у кого dle 10.1

Во втором случае заменить это:

$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE {$where_category}{$allowed_cats} MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve=1" . $where_date . " LIMIT " . $config['related_number'] );
                }

                $tpl2 = new dle_template();
                $tpl2->dir = TEMPLATE_DIR;
                $tpl2->load_template( 'relatednews.tpl' );


На вот это:

$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name, news_read, comm_num FROM " . PREFIX . "_post LEFT JOIN " . PREFIX . "_post_extras ON (" . PREFIX . "_post.id=" . PREFIX . "_post_extras.news_id) WHERE {$where_category}{$allowed_cats} MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve=1" . $where_date . " LIMIT " . $config['related_number'] );
                }

                $tpl2 = new dle_template();
                $tpl2->dir = TEMPLATE_DIR;
                $tpl2->load_template( 'relatednews.tpl' );


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

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

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

наверх