Режим поиска

Режим поиска задается с помощью параметра Request::get($block, 'search', 'where') со следующими возможными значениями:
  • beginnings (по умолчанию) — поиск производится в начале слов.
  • start — поиск производится в начале всего текста.
  • anywhere — поиск производится в любом месте текста.

Пример: $params['search']['where'] = 'start';

Если задан параметр where, в шаблоне становятся доступны данные Request::get($block, 'search', 'where').

Пример. Форма ввода поискового текста, с возможностью переключения режима поиска

<?php
echo'
<form action="?page='.$page.'&block='.$block.'" method="post">
    $where = [
        'beginnings'=>'в начале слов',
        'start'=>'в начале текста',
        'anywhere=>'в любом месте'
    ];
    $request = Request::get($block);
    foreach ($where as $k => $v) {
        $checked = ($request['search']['where']==$k) ? ' checked="checked"' : '';
        echo'<input type="radio" name="where" value="'.$k.'"'.$checked.' />'.$v;
    }
    echo'
    <input type="text" name="search[1]" value="'.$request['search']['texts'][1].'" />
    Имя исполнителя
    <input type="text" name="search[2]" value="'.$request['search']['texts'][2].'" />
    Название песни
    <input type="submit" value="Искать">
</form>';
?>

Какие символы ищутся?

В настоящее время в системе управления реализован только поиск, так называемых, "словесных" символов, то есть, последовательности букв, цифр или нижней черты.

На будущее зарезервирован параметр Request::get($block, 'search', 'what') со следующими возможными значениями:

  • word (по умолчанию) — ищется последовательность букв, цифр и нижней черты.
  • regexp — поиск по регулярному выражению, задаваемому в параметре search.
  • digits — ищется последовательность цифр.
  • numbers — ищется последовательность чисел.
  • letters — ищется последовательность букв.
  • any — ищется последовательность любых символов.

Таким образом, по умолчанию при поиске применяется параметр:
$params['search']['what'] = 'word';


Примечания