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

Похожие новости из определенной категории


     11.08.2011    похожие новости, категория    Все вопросы » Хаки    8590

вопрос
Доброго времени суток.
Как можно сделать вывод похожих новостей только из определенной категории? Заранее спасибо!

Ответил: ПафНутиЙ


Можно попробовать тек:
Открываем engine/modules/show.full.php
Находим:
                $db->query( "SELECT id, title,  date, category, alt_name, flag FROM " . PREFIX . "_post WHERE 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, title, date, category, alt_name, flag FROM " . PREFIX . "_post WHERE MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve='1' AND category regexp '[[:<:]](1|2|3)[[:>:]]'" . $where_date . " LIMIT " . $config['related_number'] );

Где 1|2|3 - нужные категории.
Не уверен конечно на 100% но должно получиться.

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

n1kola
Юзер

n1kola - 16 августа 2011 11:37 -

Помогло, спасибо!

pnul
Юзер

pnul - 28 августа 2011 11:34 -

А если мне нужно чтобы на главной все работало, как есть (из всех категорий, а их больше 30), а в выбранных категориях, только из указанных?

ПафНутиЙ
Админ

ПафНутиЙ - 28 августа 2011 12:55 -

custom в помощь.

Каков вопрос - таков и ответ. Просто помните об этом.

pnul
Юзер

pnul - 28 августа 2011 13:09 -

Нужна более детальная помощь, ввиду отсутствия знаний

ПафНутиЙ
Админ

ПафНутиЙ - 28 августа 2011 13:13 -

читаем оффдоки, вполне детальное объяснение.

Каков вопрос - таков и ответ. Просто помните об этом.

pnul
Юзер

pnul - 28 августа 2011 13:36 -

То есть нужно выводить случайный список заголовков из категории, а не использовать функцию {related-news}?
И если можно, то подробнее. Обещаю, что я со временем научусь )))

ПафНутиЙ
Админ

ПафНутиЙ - 28 августа 2011 13:51 -

Цитата: pnul
А если мне нужно чтобы на главной все работало, как есть (из всех категорий, а их больше 30), а в выбранных категориях, только из указанных?

как интересно на главной странице вывести ПОХОЖИЕ ноости? похожие на что?

Каков вопрос - таков и ответ. Просто помните об этом.

pnul
Юзер

pnul - 28 августа 2011 16:43 -

Имелось ввиду основной шаблон.

ПафНутиЙ
Админ

ПафНутиЙ - 28 августа 2011 17:13 -

Тогда только хак.

Каков вопрос - таков и ответ. Просто помните об этом.

pnul
Юзер

pnul - 28 августа 2011 18:57 -

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

rashpil
Эксперт

rashpil - 28 августа 2011 21:40 -

$db->query( "SELECT id, title, date, category, alt_name, flag FROM " . PREFIX . "_post WHERE id != " . $row['id'] . " AND approve='1' AND category regexp '[[:<:]](1|2|3)[[:>:
]]'" . $where_date . " ORDER BY "RAND()" LIMIT " . $config['related_number'] );

pnul
Юзер

pnul - 28 августа 2011 21:48 -

Спасибо за помощь, но что, как и куда это вставить и что потом с этим делать!? )))

rashpil
Эксперт

rashpil - 29 августа 2011 11:20 -

Есть вариант посмотреть ответ на вопрос немного выше :) Вот текст для замены я и дал в коментарии выше. Этот запрос исполнит ваше желание))))

webm42
Юзер

webm42 - 12 октября 2011 18:32 -

ПафНутиЙ,
а можно как-то изменить твой код, чтобы выводились похожие новости из всех категорий, кроме одной (чтобы не перечислять 20 с лишним категорий, а указать только одну ненужную)? Просто если использовать этот же код, перечисляя необходимые категории (кроме той одной единственной), нагрузка от этого не увеличиться?

Чтобы разъяснить немного: мне не нужно чтобы выводились похожие новости из запрещенной к просмотру (средствами движка) категории.

webm42
Юзер

webm42 - 12 октября 2011 18:49 -

Если я заменю (1|2|3) на (1-20), то новости из 21 категории браться не будут, правильно? То, что у меня нет, например, 8, 6 и 5 категорий, но они перечислены (1-20) это не страшно?

webm42
Юзер

webm42 - 12 октября 2011 20:37 -

Заменил на [^21], вроде бы работает (показываются из всех категорий, кроме 21). Просьба знающих подтвердить правильность конструкции smile

pazitiv
Юзер

pazitiv - 25 марта 2012 14:50 -

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

rashpil
Эксперт

rashpil - 25 марта 2012 15:37 -

webm42, Да, сконструкция верная. Подтверждаю :)

pazitiv, можно попробоватьвот так:
$db->query( "SELECT id, title, date, category, alt_name, flag FROM " . PREFIX . "_post WHERE id != " . $row['id'] . " AND approve='1' AND category ='{$category_id}' . $where_date . " ORDER BY "RAND()" LIMIT " . $config['related_number'] );

trouble
Юзер

trouble - 5 февраля 2014 14:54 -

Метод ПафНутиЙ-я помог на 10.1, спасибо!

raimonds.zundurs
Юзер

raimonds.zundurs - 6 ноября 2015 19:25 -

как его запустить на DLE 10.5 ???

ПафНутиЙ
Админ

ПафНутиЙ - 6 ноября 2015 20:39 -

Используйте BlockPro

Каков вопрос - таков и ответ. Просто помните об этом.

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

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

наверх