Искать  
 
   
 
Модернизировать поиск
Отправлено: 19 Август 2009 10:15 A.M.   [ Игнорировать ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

При выдаче поисковым результатов выдается начало текста записи. Можно ли как-нибудь сделать, чтобы выводился тот кусок текста, где именно встречается текст, который искали.

Профиль
 
 
Отправлено: 20 Август 2009 07:13 P.M.   [ Игнорировать ]   [ # 1 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  891
Зарегистрирован  2008-01-07

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

Профиль
 
 
Отправлено: 20 Август 2009 07:20 P.M.   [ Игнорировать ]   [ # 2 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

Я с англ чес говоря не очень=(((( ВОт на курсы тока начал ходить=)
По каким словам искать то хоть? А там уже думюа знаний хватит моих начальных

Профиль
 
 
Отправлено: 20 Август 2009 08:37 P.M.   [ Игнорировать ]   [ # 3 ]
Member
RankRankRank
Всего сообщений:  191
Зарегистрирован  2009-03-17

посмотри это http://expressionengine.com/forums/viewthread/59924/

Дословно перевод: Этот плагин предназначен для обертывания  переменной {full_text} в шаблоне  результатов поиска и покажет соответствующие ‘куски’ из текста, содержащих слова запроса.

Профиль
 
 
Отправлено: 20 Август 2009 08:45 P.M.   [ Игнорировать ]   [ # 4 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

Спасибо большое. Щас заценим!

Профиль
 
 
Отправлено: 21 Август 2009 06:06 P.M.   [ Игнорировать ]   [ # 5 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

У себя в архивах порылся

на русском форуме ЕЕ в 2007 году был задан вопрос
http://www.expressionengine.ru/forum/showthread.php?p=1236#post1236

Задача заключается в том, чтобы при выводе результатов поиска выводилось бы не поле excerpt, а фрагмент текста, который содержит поисковое слово.

решением является изменение значения переменной {full_text}. я решил что новую переменную добавлять нет смысла.
для того чтоб при поиске выводился фрагмент текста с этим слово, мы добавим несколько строк кода в файл /system/modules/search/mod.search.php.

для начала найдем строки (~1138)
$excerpt trim(preg_replace("/(\015\012)|(\015)|(\012)/"" "$excerpt));
$excerpt $FNS->word_limiter($excerpt50); 


между ними вставим
$full_text 
$excerpt;
$inPos strpos($full_text$this->keywords(), 0);
if(
$inPos)
{
if ($inPos 100
{
$inPos 
$inPos-100;

elseif ($inPos 15)
{
$inPos 
$inPos-10;
}
$full_text 
substr($full_text$inPos);
$inPos strpos($full_text$this->keywords(), 0);    
$pointPos strpos($full_text'.'0);
if (
$pointPos != false && $pointPos $inPos)
    
$full_text substr($full_text$pointPos+2);
$full_text $FNS->word_limiter($full_text100);
}
else $full_text $FNS->word_limiter($excerpt50); 


поиск сделан

Возможно решение и не подойдет, т.к. дело было в 2007

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 01 Сентябрь 2009 01:30 A.M.   [ Игнорировать ]   [ # 6 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27
Nik - 20 Август 2009 08:37 P.M.

посмотри это http://expressionengine.com/forums/viewthread/59924/

Дословно перевод: Этот плагин предназначен для обертывания  переменной {full_text} в шаблоне  результатов поиска и покажет соответствующие ‘куски’ из текста, содержащих слова запроса.

Плагин хороший, но чего-то плохо он иногда работает, бывает вырезает куски текста, бывает возвращяет пустой резалт.
Я так понял, если текст находится в середине, то нормально, а елси в начале - то ничего не выводит

Профиль