Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Хаки Похожие новости из определенной категории

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


     11.08.2011    Хаки    5372

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

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


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

n1kola - 16 августа 2011 11:37 - Юзер

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

pnul
17 | 17

pnul - 28 августа 2011 11:34 - Юзер

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

ПафНутиЙ
1064

3393 | 2433

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

custom в помощь.

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

pnul
17 | 17

pnul - 28 августа 2011 13:09 - Юзер

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

ПафНутиЙ
1064

3393 | 2433

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

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

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

pnul
17 | 17

pnul - 28 августа 2011 13:36 - Юзер

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

ПафНутиЙ
1064

3393 | 2433

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

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

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

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

pnul
17 | 17

pnul - 28 августа 2011 16:43 - Юзер

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

ПафНутиЙ
1064

3393 | 2433

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

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

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

pnul
17 | 17

pnul - 28 августа 2011 18:57 - Юзер

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

rashpil
33

232 | 182

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

pnul - 28 августа 2011 21:48 - Юзер

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

rashpil
33

232 | 182

rashpil - 29 августа 2011 11:20 - Эксперт

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

webm42
3 | 3

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

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

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

webm42
3 | 3

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

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

webm42
3 | 3

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

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

pazitiv
2 | 2

pazitiv - 25 марта 2012 14:50 - Юзер

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

rashpil
33

232 | 182

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
24

74 | 22

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

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

raimonds.zundurs
17 | 1

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

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

ПафНутиЙ
1064

3393 | 2433

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

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

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

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

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