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

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


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

вопрос
Как сделать поиск похожих новостей из доп. поля? На данный момент похожие новости берутся из 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
Юзер

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
Эксперт

rashpil - 4 апреля 2012 08:43 -

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

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


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

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

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

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

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

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

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

наверх