We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 31413
    • 52 Posts
    Можно ли сделать так, чтобы форма для поиска по сайту размещалась в одном месте шаблона (в шапке к примеру), а результаты выводились в другое - непосредственно в основной контент. Пробовал AjaxSearch и HyperFlexSearchForm но и там и там где снипет вызвал - туда и результаты поиска валятся.
      • 785
      • 2,113 Posts
      Если подразумевается, что вводится в каком-то месте на каждой странице, а выводится на специальной странице в другом месте, то можно. Для AjaxSearch нужно использовать поиск не в режиме AJAX (&ajaxSearch=`0`) и указать страницу результатов параметром &AS_landing. На странице результатов повторно вызвать сниппет с параметрами &ajaxSearch=`0` и &AS_showForm=`0`. Если же нужно помещать результаты, выводящиеся в режиме AJAX, в какое-то конкретное место, то тут следует воспользоваться CSS.
        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
        Статьи о MODx, регулярно новые публикации
        • 31413
        • 52 Posts
        Но при таком раскладе на специальной странице с результатами не будет формы ввода, которая согласно концепции является неотьемлемой деталью шаблона и должна висеть постоянно в одном и том же месте на всех страницах. Т.е. не будет даже возможности сделать повторный поиск не говоря уже о том что общий вид сайта поменяется.
          • 785
          • 2,113 Posts
          Quote from: Veosys at Oct 28, 2008, 05:58 AM

          Но при таком раскладе на специальной странице с результатами не будет формы ввода
          Кто сказал? Я нигде не писал, что первого вызова нет на странице вывода результатов. Пример можно посмотреть тут: сайт сказок.
            Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
            Статьи о MODx, регулярно новые публикации
            • 31413
            • 52 Posts
            То что нужно! А можно поподробнее описать какой снипет там использовался и как вызывался на странице результатов и в шаблоне сверху справа? Заранее спасибо!
              • 785
              • 2,113 Posts
              Я же выше написал (хоть и не подробно) – на всех страницах:
              [[AjaxSearch? &ajaxSearch=`0` &AS_landing=`10` &language=`russian-utf8` &extract=`1` &useAllWords=`1`]]
              где 10 – ID страницы с результатами.
              А на странице результатов дополнительно:
              [!AjaxSearch? &AS_showForm=`0` &ajaxSearch=`0`!]
              Лучше использовать последнюю версию AjaxSearch – 1.8.1, так как более ранние нужно дорабатывать.
                Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                Статьи о MODx, регулярно новые публикации
                • 31413
                • 52 Posts
                Попробовал. У меня результаты поиска появляются и на странице и непосредственно под формой поиска в шаблоне. Может конечно это потому что у меня стоит версия 1.8?
                  • 31413
                  • 52 Posts
                  Вы видимо забыли указать что в первый вызов надо добавить &AS_showResults=`0` Все таки чтение документации полезная вещь smiley Еще раз спасибо за уделенное время.
                    • 30118
                    • 22 Posts
                    а возможно ли сделать так, чтобы результатом поиска были не выдержки из найденных документов ( в моем случае новостей) со ссылками на полные версии этих документов, а сами эти документы целиком?
                      • 31413
                      • 52 Posts
                      Поставил на новом сайте modx 0.9.6.3 который включает AjaxSearch 1.8.1 Вызываю следующим образом:
                      [!AjaxSearch? &language=`russian` &ajaxSearch=`0` &AS_landing=`124` &extract=`1`!]

                      На странице с результатами:
                      [!AjaxSearch? &AS_showForm=`0` &ajaxSearch=`0`!]


                      В итоге при попытке поиска получаю:
                      MODx encountered the following error while attempting to parse the requested resource:
                      « Execution of a query to the database failed - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ’( DISTINCT CAST(ntv.id AS CHAR) SEPARATOR "," ) AS tv_id, GROUP »
                      SQL: SELECT sc.id, sc.pagetitle, sc.longtitle, sc.description, sc.alias, sc.introtext, sc.menutitle, sc.content, sc.publishedon, GROUP_CONCAT( DISTINCT CAST(ntv.id AS CHAR) SEPARATOR "," ) AS tv_id, GROUP_CONCAT( DISTINCT ntv.value SEPARATOR ", " ) AS tv_value FROM `modx_site_content` sc LEFT JOIN( SELECT DISTINCT tv.id, tv.value, tv.contentid FROM `modx_site_tmplvar_contentvalues` tv WHERE (((tv.value LIKE ’%тонометр%’))) ) AS ntv ON sc.id = ntv.contentid WHERE ((sc.published=1) AND (sc.searchable=1) AND (sc.deleted=0) AND (sc.type=’document’) AND (sc.privateweb=0)) GROUP BY sc.id HAVING (((sc.pagetitle LIKE ’%тонометр%’) OR (sc.longtitle LIKE ’%тонометр%’) OR (sc.description LIKE ’%тонометр%’) OR (sc.alias LIKE ’%тонометр%’) OR (sc.introtext LIKE ’%тонометр%’) OR (sc.menutitle LIKE ’%тонометр%’) OR (sc.content LIKE ’%тонометр%’) OR (tv_value LIKE ’%тонометр%’))) ORDER BY sc.publishedon,sc.pagetitle

                      В чем косяк может быть? huh