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

Как сделать поиск похожих новостей из доп. поля


     28.03.2012    Модули, Хаки, Ламерские вопросы    3136

вопрос
Как сделать поиск похожих новостей из доп. поля? На данный момент похожие новости берутся из shortstory и (или) из fulstory? а нужно из определенного доп. поля. Возможно ли это ?

Ответил: rashpil


Если вам нужно чтобы поиск сходств новостей производился и в дополнительных полях тоже, то это уже реализовано. В списке полей для поиска вхождений слов участвует поле xfields.

Если же нужно, чтобы материалы для поиска похожих новостей выбирались из дополнительного поля, то следует в файле show.full.php переместить блок кода отвечающий за вывод дополнительных полей в шаблон новости так, чтобы он в сценарии стоял выше блока отвечающего за вывод похожих новостей. И заменить:
if( strlen( $row['full_story'] ) < strlen( $row['short_story'] ) ) $body = $row['short_story'];

На это:
if ($xfieldsdata['Имя поля']) $body = $xfieldsdata['Имя поля'];
elseif( strlen( $row['full_story'] ) < strlen( $row['short_story'] ) ) $body = $row['short_story'];

Комментарии пользователей (3)

udaRNik
13 | 15

udaRNik - 4 апреля 2012 01:12 - Юзер

А если мне нужен поиск по 2 доп. полям, можно сделать так?:

if ($xfieldsdata['Имя поля']) $body = $xfieldsdata['Имя поля'];
if ($xfieldsdata['Имя поля 2 ']) $body = $xfieldsdata['Имя поля 2 '];
elseif( strlen( $row['full_story'] ) < strlen( $row['short_story'] ) ) $body = $row['short_story'];

rashpil
33

232 | 182

rashpil - 4 апреля 2012 08:43 - Эксперт

Да. Но только вот во второй строке нужно писать так:

if ($xfieldsdata['Имя поля 2 ']) $body = $xfieldsdata['Имя поля 2 '];


Чтобы значение второго поля не записывалось в переменную,а добавлялось к уже имеющемуся значению

ПафНутиЙ
1064

3393 | 2433

ПафНутиЙ - 4 апреля 2012 09:01 - Админ

точку перед равно не забыл?

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

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

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