Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Хаки » Похожие новости из определенной категории

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


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

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

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


Можно попробовать тек:
Открываем 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 - -

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

pnul
Юзер

pnul - -

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

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

ПафНутиЙ - -

custom в помощь.

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

pnul
Юзер

pnul - -

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

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

ПафНутиЙ - -

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

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

pnul
Юзер

pnul - -

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

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

ПафНутиЙ - -

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

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

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

pnul
Юзер

pnul - -

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

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

ПафНутиЙ - -

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

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

pnul
Юзер

pnul - -

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

rashpil
Эксперт

rashpil - -

$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 - -

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

rashpil
Эксперт

rashpil - -

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

webm42
Юзер

webm42 - -

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

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

webm42
Юзер

webm42 - -

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

webm42
Юзер

webm42 - -

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

pazitiv
Юзер

pazitiv - -

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

rashpil
Эксперт

rashpil - -

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 - -

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

raimonds.zundurs
Юзер

raimonds.zundurs - -

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

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

ПафНутиЙ - -

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

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

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

наверх