1 (05.10.2012 15:29 отредактировано Abrikos)

Тема: Вывод похожих новостей из категории в {relatednews}

Как сделать, чтобы похожие новости {relatednews} выводились только из той же категории, что и сама новость?
Что-то смекнуть не могу...

2

Re: Вывод похожих новостей из категории в {relatednews}

Используйте модуль LinkEnso - http://alaev.info/blog/post/3982 "Похожесть" новостей в этом виде перелинковки как раз можно настроить категориальной принадлежностью. Правда в итоге это не "похожие новости" будут, а предыдущие и следующие.

3

Re: Вывод похожих новостей из категории в {relatednews}

Abrikos пишет:

Как сделать, чтобы похожие новости (relatednews) выводились только из той же категории, что и сама новость ? Что-то смекнуть не могу...

например вывести тегом custom
_http://dle-news.ru/extras/online/index.html?startnews.html Страничка по теме!

Пример реализации:

{custom id="1,2" category="2,7" template="custom" aviable="global" from="0" limit="10" order="date" cache="yes"}

Где id это список ID новостей которые вы хотите вывести
category это список ID категорий, из которых производить выборку новостей, разделяются запятой без пробелов.

template файл шаблона который будет использоваться при выводе новостей в данном случае это будет custom.tpl если вы используете на сайте несколько шаблонов то данный файл должен присутствовать в каждом шаблоне. В данном шаблоне используются теги аналогичные для короткой новости.

aviable раздел в котором будет выводится запрашиваемые новости, может принимать следующие значения:
global - во всех разделах
main  - на главной странице
date  - при просмотре новостей за определенные даты
cat  - при просмотре категории
showfull - при просмотре полной новости
search - при просмотре результатов поиска
userinfo  - при просмотре профиля
register - при регистрации
stats - при просмотре статистики
pm - при просмотре персональных сообщений
feedback - при просмотре обратной связи
favorites - при просмотре закладок
newposts - при просмотре новых сообщений
addnews - при добавлении новости
lastnews - при просмотре последних новостей на сайте
lastcomments - при просмотре последних комментариев
static - при просмотре статических страниц
catalog - при просмотре каталога страниц
alltags - при просмотре облака тегов
tags - при просмотре новостей из облака тегов
allnews - при просмотре всех новостей на сайте или всех новостей какого либо пользователя

Вы можете комбинировать разделы при помощи "|", например aviable="userinfo|register|main" будет выводить ваши новости на главной, при регистрации и при просмотре профиля пользователя.

from номер новости с которой начнется вывод
limit сколько новостей будет выведено

order порядок сортировки новостей, может причинимать следующие значения:
date - сортировка новостей по дате
rating - сортировка новостей по рейтингу
reads - сортировка новостей по количеству просмотров
comments - сортировка новостей по количеству комментариев
title - сортировка новостей по заголовкам новостей
rand - сортировка новостей в случайном порядке

cache принимает значения yes или no - устанавливает кешировать вывод или нет, рекомендуется кешировать для снижения нагрузки.

4

Re: Вывод похожих новостей из категории в {relatednews}

http://blockpro.ru/

5

Re: Вывод похожих новостей из категории в {relatednews}

Каждый кулик свое болото хвалит smile

6 (05.10.2012 17:39 отредактировано Kanra)

Re: Вывод похожих новостей из категории в {relatednews}

mithrandir пишет:

Каждый кулик свое болото хвалит

Ну я тогда похвалю чужое. Если коробочно и со всякими плюшками, пользовался раньше сам: S-Block. Ну а пару месяцев назад пересел на блок.про от Паши, т.к спокойно могу внедрить свои фишки в код, а в S-Block все зашифровано.

p.s Если пробовать ковырять 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");

Например заменить:

WHERE id IN({$row['related_ids']}) ORDER BY id DESC

на

WHERE `category` = '{$row['category']}' ORDER BY RAND() LIMIT 5

Где "5" - количество выводимых новостей. Только тут будет случайный выбор из-за RAND().
Но думаю наши программисты меня поправят, если накосячил.

7

Re: Вывод похожих новостей из категории в {relatednews}

Kanra пишет:

WHERE `category` = '{$row['category']}' ORDER BY RAND() LIMIT 5

Да, или на что то типа

WHERE `category` regexp '[[:<:]](" . str_replace(',', '|', $row['category']) . ")[[:>:]]'

если включена мультикатегориальность

8

Re: Вывод похожих новостей из категории в {relatednews}

Спасибо за помощь ребята... Вот это действительно хорошая штука http://blockpro.ru/ !

9

Re: Вывод похожих новостей из категории в {relatednews}

mithrandir пишет:

Каждый кулик свое болото хвалит

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

10

Re: Вывод похожих новостей из категории в {relatednews}

вывод новостей из подкатегорий
по вашему совету  сделал так:

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

новости выводятся но все в кучу из родительской категории, а нельзя  ли чтоб учитывались подкатегории

11

Re: Вывод похожих новостей из категории в {relatednews}

Как сделать на dle чтобы похожие новости выводились по заданным тегам?

Re: Вывод похожих новостей из категории в {relatednews}

Ты уже спрашивал, не?

13

Re: Вывод похожих новостей из категории в {relatednews}

Я давно работаю с https://www.king-servers.com/ Более чем все устраивает. Посмотрите