За последние 24 часа нас посетил 17381 программист и 1621 робот. Сейчас ищут 2211 программистов ...

Изменить search.php для ProcessWire

Тема в разделе "Сделайте за меня", создана пользователем aleksbalt, 26 апр 2019.

  1. aleksbalt

    aleksbalt Новичок

    С нами с:
    26 апр 2019
    Сообщения:
    16
    Симпатии:
    0
    Что нужно изменить или добавть в search.php, что бы поиск выдавал не только первое совпадение из поисковой строки. Например в поисковом запросе будет два слова: "лопата" "ведро". Нужно что бы в результат был найден и со страницы и со словом "лопата" и со словом "ведро". При данной конфигурации выдает только результат с первого слова.
    Приложен search.php файл.
    За помощь отблагадарю через Paypal
     

    Вложения:

    • search.txt
      Размер файла:
      1,3 КБ
      Просмотров:
      10
    #1 aleksbalt, 26 апр 2019
    Последнее редактирование: 26 апр 2019
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.861
    Симпатии:
    751
    Адрес:
    Татарстан
    1. разделить поисковую фразу на поисковые слова
    2. искать согласно логике которую можно определить там же чтоб ВСЕ слова были, или ЛЮБОЕ слово - соотвественно AND.... OR связка по словам
     
  3. aleksbalt

    aleksbalt Новичок

    С нами с:
    26 апр 2019
    Сообщения:
    16
    Симпатии:
    0
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.798
    Симпатии:
    1.331
    Адрес:
    Лень
  5. aleksbalt

    aleksbalt Новичок

    С нами с:
    26 апр 2019
    Сообщения:
    16
    Симпатии:
    0
    Нет, код как в примере search.txt
     
  6. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Править финские скрипты - бесценно :)

    Хочется посмотреть внутренности метода find() из

    $pages->find($query);

    Что это за двигло вообще? :)
     
  7. aleksbalt

    aleksbalt Новичок

    С нами с:
    26 апр 2019
    Сообщения:
    16
    Симпатии:
    0
    Что на финском, что на русском - одна малина. Код везде один.
    CMS - PocessWire
    Пока не нашел этот код на сайте.
     
  8. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Но он реально нужен чтобы решить вопрос.

    Тот что приведен - просто формирует параметры строки запроса.
     
  9. aleksbalt

    aleksbalt Новичок

    С нами с:
    26 апр 2019
    Сообщения:
    16
    Симпатии:
    0
    Ясно, через пару часов попробую просканировать код на сайте.
     
  10. aleksbalt

    aleksbalt Новичок

    С нами с:
    26 апр 2019
    Сообщения:
    16
    Симпатии:
    0
    Нашел только два файла category.php и search.php.
    Хотел бы добавить что, идея была в том, что бы можно было сгенерировать ссылку с помошью операторов "and" или "^" или еще каких, и в результате поиск выдавал бы эти страницы. У всех страниц есть свой "id" или еще уникальное поле "sku" которое отвечает за номер товара.

    В данный момент я копирую прямые ссылки на страницы с товаром и вставляю в текст письма, что не совсем удобно для презентации.
    Приложил category.php и search.php
     

    Вложения:

    • php.zip
      Размер файла:
      1,6 КБ
      Просмотров:
      3
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.798
    Симпатии:
    1.331
    Адрес:
    Лень
    Наймите программиста, чтобы у него был полный доступ для решения проблемы.
     
  12. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Алекс, в общем там надо копаться в этом коде.. ))

    Оптимальнре решение - задать вопрос в сообществе этого самого ПроцессВэа - они там наверняка сходу ответят.
     
    aleksbalt нравится это.
  13. aleksbalt

    aleksbalt Новичок

    С нами с:
    26 апр 2019
    Сообщения:
    16
    Симпатии:
    0
    Да, попробую почитать у них на форуме.
     
  14. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Вот так сделайте и результат скопируйте сюда:
    PHP:
    1. // do the search
    2. $matches = $pages->find($query);
    3. var_export($matches); exit;
     
  15. aleksbalt

    aleksbalt Новичок

    С нами с:
    26 апр 2019
    Сообщения:
    16
    Симпатии:
    0
    Что то пошло не так ))

    upload_2019-5-1_10-22-58.png
     

    Вложения:

    • search.zip
      Размер файла:
      827 байт
      Просмотров:
      1
  16. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Все так, в пхп вообще не шарите? ;)
    Так лучше:
    PHP:
    1. echo '<pre>'; var_export($matches); exit;
    Скопируте все из браузера в файл и сюда;
    Но сначала загрузите страницу без этого.
     
  17. aleksbalt

    aleksbalt Новичок

    С нами с:
    26 апр 2019
    Сообщения:
    16
    Симпатии:
    0
    Ну сейчас так
    http://www.laitetori.fi/fi/haku/?q=4959

    Оставлю минут на 10, потом придется вернуть. Нужно что б поиск работал
     

    Вложения:

    • new 0.txt
      Размер файла:
      239,7 КБ
      Просмотров:
      1
  18. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Так теперь попробуйте, будет или нет дублироваться:
    PHP:
    1. // do the search
    2. $matches = $pages->find($query);
    3. $matches = (object) array_merge((array) $matches, (array) $matches);
    4.    
     
  19. aleksbalt

    aleksbalt Новичок

    С нами с:
    26 апр 2019
    Сообщения:
    16
    Симпатии:
    0
    Теперь так

    upload_2019-5-1_11-59-49.png
     
  20. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Сделайте еще:
    PHP:
    1. echo '<pre>'; var_export((array) $matches); exit;
    Но в поиск введите слово, чтобы было несколько результатов.
    Скопировать в файл и вернуть обратно, оставлять не нужно.
     
  21. aleksbalt

    aleksbalt Новичок

    С нами с:
    26 апр 2019
    Сообщения:
    16
    Симпатии:
    0
    Результат по двум словам: moottori kaapelli
     

    Вложения:

    • new 0.txt
      Размер файла:
      5,2 КБ
      Просмотров:
      2
  22. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Так нет же результатов, сделайте с "fenestran" - должно быть семь.
     
  23. aleksbalt

    aleksbalt Новичок

    С нами с:
    26 апр 2019
    Сообщения:
    16
    Симпатии:
    0
  24. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Да, скопировать пытался и браузер вырубился,
    можно подобрать запрос чтобы было 2-3 пункта и архивировать.

    Уберите тот дебаг и продублируйте там строку, как будет выглядеть страница:
    PHP:
    1. $out .= renderProductList($matches);
    2. $out .= renderProductList($matches);
    3. $out .= renderProductList($matches);
    это с одним цифровым запросом.
     
  25. aleksbalt

    aleksbalt Новичок

    С нами с:
    26 апр 2019
    Сообщения:
    16
    Симпатии:
    0