Искать  
 
   
 
Модернизировать поиск
Отправлено: 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($excerpt, 50); 


между ними вставим
$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_text, 100);
}
else $full_text = $FNS->word_limiter($excerpt, 50); 


поиск сделан. 

Возможно решение и не подойдет, т.к. дело было в 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} в шаблоне  результатов поиска и покажет соответствующие ‘куски’ из текста, содержащих слова запроса.

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

Профиль