mSearch не ищет по стандартным tv (не ms2)
Не так давно, я столкнулся с тем что mSearch выводит в результатах тв только у первого найденного элемента.
Решение это проблемы подсказали заменой части кода сниппета от 78 строки и до конца, этим куском
но теперь он не ищет по стандартным доп полям, хотя они прописаны и до этого искал.
Буду очень благодарен если подскажите, как заставить сниппет снова искать по доп полям.
Решение это проблемы подсказали заменой части кода сниппета от 78 строки и до конца, этим куском
else {
$class = !empty($includeMS) ? 'msProduct' : 'modResource';
$i = $offset;
$result = array();
$includeTVListArr = array();
foreach ($res as $v) {
if ($tmp = $modx->getObject($class, $v['rid'])) {
$arr = $tmp->toArray();
$arr['num'] = 1+$i++;
$arr['intro'] = $mSearch->Highlight($v['resource'], $query);
if (!empty($includeTVs) && !empty($includeTVList)) {
$includeTVListArr = explode(',',$includeTVList);
foreach ($includeTVListArr as $v2) {
$arr[$tvPrefix.$v2] = $tmp->getTVValue($v2);
}
}
$result[] = $modx->getChunk($tpl, $arr);
}
}
$modx->setPlaceholder($plPrefix.'count', (($i != 0) ? $arr['num'] : 0));
$modx->setPlaceholder($plPrefix.'render_time', $mSearch->get_execution_time() - $modx->getPlaceholder($plPrefix.'query_time'));
if ($i == 0) {
$modx->setPlaceholder($plPrefix.'error', $modx->lexicon('mse.err_no_results'));
return;
}
return implode($outputSeparator, $result);
}
не эксплоит и ладно, заменил. Заработало то что нужно, тв выводятся у всех результатов поиска,но теперь он не ищет по стандартным доп полям, хотя они прописаны и до этого искал.
Буду очень благодарен если подскажите, как заставить сниппет снова искать по доп полям.