У себя в архивах порылся
на русском форуме ЕЕ в 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