Так навелосипедил, тот search.php переименуйте и создайте другой с этим кодом, через запятую вводить номера: PHP: <?php $out = ''; $count = 0; if($q = $sanitizer->selectorValue($input->get->q)) { // whitelist q value $input->whitelist('q', $q); $operator = "="; $fields = "sku|title"; if(strpos($q, ",") !== false){ foreach(explode(",", $q) as $v){ if($v = (int)trim($v)) { $item = $pages->get("template=item, sku=$v"); if($item->id) { $count++; $m = $pages->find("template=item, limit=40, sort=headline, $fields{$operator}$v"); $prod .= renderProductList($m); } } } } if($count) { $out .= "<p>" . sprintf(__("Naytetaan %d tuotteista."), $count) . "</p>"; $out .= $prod; }else{ $out .= "<p>". __('Ei osumia talla hakutermilla.') ."</p>"; } } else { // get default output from page $out .= $page->content; } include './inc/_head.php'; ?> <article id="content"> <div class="wrapper"> <h1><?php echo $pagetitle; ?></h1> <?php echo renderSearchForm(); echo $out; ?> </div> </article> <?php include './inc/_foot.php'; ?>
Если один номер искать, то результат не выдает. Если два и больше номера, то остальные показывает. http://www.laitetori.fi/fi/haku/?q=5961,+5962,+5963 По ключивым словам поиск не выдает. http://www.laitetori.fi/fi/haku/?q=ovi,+ikkuna
Это тест лишь по номерам через запятую, странно что из 3 выводит 2, посмотрите что приходит: PHP: // whitelist q value $input->whitelist('q', $q); var_export($q); exit; Там кавычки в строке, так измените, PHP: if($v = (int)trim($v, '"')) {
Да, так работает для номеров. Можно ли как то этот код поставить не на search.php, так как этот поиск не работает полностью как раньше. Можно даже без формы, например из адресной строки. Заместо q= типа s=