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

Вывод похожих новостей из определённой категории (для DLE 9.8)


     27.03.2013    Все вопросы » Хаки    7538

вопрос
К примеру, есть пять категорий, назовём их просто: 1, 2, 3, 4, 5. Первые три категории - основные, а в четвёртой и пятой публикуется что-то типа новостей / заметок.

Что мне нужно?

Нужно, чтобы при просмотре категорий 1, 2, и 3 выводились похожие новости только из этих же категорий. А при просмотре категории 4 - выводились из 4-й, при просмоте категории 5 - выводились из 5-й.

Вот такая небольшая путаница. Надеюсь, что объяснил понятно. Раньше на DLE 9.5 всё работало. Использывал следующий код:



Для DLE 9.8 это уже не работает или я просто не правильно что-то "вставляю" :)

Ответил: pro-erex


открываем фаил
\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 " . PREFIX . "_post.category=".$category_id ."" . $where_date . " LIMIT " . $config['related_number'] ); 


после этого в разделе похожие новости будут искаться только в той категории к которой принадлежит сама новость

7 комментариев

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

ПафНутиЙ - 28 марта 2013 01:02 -


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

river7
Юзер

river7 - 28 марта 2013 13:26 -

Параметр "this" в моём случае не совсем подходит, ибо мне нужно, чтобы похожие новости показывались из определённых категорий, а не только из просматриваемых. То есть, у меня три группы категорий: первая группа должна линковаться между собой (это категории 1, 2 и 3) и две остальные группы, это категории 4 и 5. Вот для последних ваш модуль бы подошел.

river7
Юзер

river7 - 28 марта 2013 13:28 -

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

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

ПафНутиЙ - 28 марта 2013 13:30 -

так можно же добавить две строки подключения, завернув их в [catlist] и указав нужные категории в каждой.
Я просто предложил как альтернативу без правки движка)

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

river7
Юзер

river7 - 29 марта 2013 22:49 -

Кое-что получилось и вроде бы как всё работает, но есть небольшая проблема. После добавления новости в похожих новостях всё же проскальзывают новости из других категорий. НО после того, как пересохраняешь новую добавленную новость, всё становится на свои места и работает как мне надо.

Как решить эту проблему, это конечно мелочь, но всё же. Вот, кстати небольшой отрезок кода, где я внёс изминения:



В php я асболютно ничего не понимаю, поэтому методом проб и ошибок пытался подставлять одно к другому :) Подскажите, как решить проблему? Жирный текст это мои изминения / добавляения.

river7
Юзер

river7 - 30 марта 2013 13:23 -

Можете перекинуть тему в стол заказов? Готов заплатить за этот небольшой хак :)

SplasH
Юзер

SplasH - 6 октября 2014 21:57 -

Всем привет. Помогите сделать подобное в dle 10.2, не хочу ставить доп. модули...

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

Я так понимаю нужно пошаманить с этой строкой в show.full.php?

$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'] );

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

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

 10.10.2012 lexa21reg  Хаки
наверх