Вывод переменной из словаря в шаблон

Задача вывести из компонента Simple Search в метатег title страницы поиска переменную $text, которая хранится в словаре.
То есть чтобы было:
Результаты поиска по запросу [[переменная->слово которое ищут]]

В словаре есть запись:
simplesearch.results_found
Со значением:
[[+count]] результатов найдено для "[[+text]]"


Но как вывести в шаблоне [[+text]]?

Сильно не пинайте если что, задавал данный вопрос тут, может не видно было, старый пост:
modx.pro/help/21312
Виноградов Тимур
29 марта 2021, 22:30
modx.pro
905
0

Комментарии: 19

Артур Шевченко
30 марта 2021, 21:28
0
а там запрос разве в get параметрах не передается?
    Виноградов Тимур
    30 марта 2021, 22:06
    0
    Поисковый запрос да, передается в урле.
      Артур Шевченко
      30 марта 2021, 22:17
      0
      FENOM {$.get['query']}
      phx [[#get.query]]
        Виноградов Тимур
        30 марта 2021, 22:26
        0
        А без FENOM можно сделать, на традиционном языке MODx?
          Артур Шевченко
          30 марта 2021, 22:31
          0
          А я для чего два варианта написал? Даже подписал каждый.
            Виноградов Тимур
            31 марта 2021, 13:21
            0
            Пробовал оба варианта, не работает.
            Пишу например в чанке:
            {$.get['query']}
            Потом вывожу этот чанк в title, но ничего не выводиться.
            Нагуглил еще вывод из словаря:
            modx.pro/help/18498
            Но тоже не работает.
              Артур Шевченко
              31 марта 2021, 14:16
              0
              Код формы поиска покажи.
                Виноградов Тимур
                31 марта 2021, 14:27
                0
                <form class="simplesearch-search-form" action="[[~[[+landing]]]]" method="[[+method]]">
                    <input type="text" class="form-control form-control-search" name="[[+searchIndex]]" id="[[+searchIndex]]" value="[[+searchValue]]" />
                    <input type="hidden" name="id" value="[[+landing]]" />
                    <input type="submit" class="btn btn-default btn-action-search btn-action" value="[[%simplesearch.search? &namespace=`simplesearch` &topic=`default`]]"/>
                </form>
                По идее вот что мне нужно:
                [[%simplesearch.search? &namespace=`simplesearch` &topic=`default`]]
                Пробовал вставлять это в title, но не выводит значения для +text, как в словаре:

                [[+count]] результатов найдено для "[[+text]]"

                  Артур Шевченко
                  31 марта 2021, 14:43
                  0
                  В вызове simplesearch есть параметр searchIndex?
                    Виноградов Тимур
                    31 марта 2021, 15:23
                    0
                    Не знаю, как это проверить?
                      Артур Шевченко
                      31 марта 2021, 15:50
                      0
                      Найти вызов и посмотреть есть ли там такой параметр
                      Виноградов Тимур
                      31 марта 2021, 20:12
                      0
                      В сниппете есть searchIndex, но я так понимаю мне нужен параметр searchValue:
                      <input type="text" class="form-control form-control-search" name="[[+searchIndex]]" id="[[+searchIndex]]" value="[[+searchValue]]" />
                      В поле поиска он подставляется после выполнения поиска, но в шаблоне в title не работает почему-то.
Виноградов Тимур
01 ноября 2021, 12:27
0
Может быть кто-то сможет подсказать ответ?
Яндекс ругается уже на одинаковые заголовки title на страницах результата поиска :(
    Андрей
    01 ноября 2021, 13:19
    0
    Покажи чанк/шаблон где title выводится. И вызов формы поиска.

    https://site.ru/poisk-po-sajtu.html?search=Текст поиска
    На странице поиска url получается примерно такой? Покажи тоже какой url формируется.
      Виноградов Тимур
      01 ноября 2021, 16:34
      0
      URL формируется такой(если поисковый запрос «123»):
      site.ru/rezultatyi-poiska/?search=123&id=207

      Шаблон страницы результатов поиска:
      <!doctype html>
      <html lang="ru">
      <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
          <meta http-equiv="X-UA-Compatible" content="ie=edge">
          <title>Результаты поиска по запросу</title> 
          <base href="[[++site_url]]">
          <link href="https://fonts.googleapis.com/css?family=Roboto:400,500" rel="stylesheet">
          <link rel="stylesheet" href="/assets/js/fb/jquery.fancybox.css">
          <link rel="stylesheet" href="/assets/js/owl-carousel/owl.carousel.css">
          <link rel="stylesheet" href="/assets/css/main.css">
          <link rel="stylesheet" href="/assets/css/content_.css">
          <link rel="stylesheet" href="/assets/css/user.css">
          <link rel="shortcut icon" href="/favicon-new.png"> 
      </head>
      <body>
      [[$header]]
      <div class="container">
      <h1>Результаты поиска [[+searchValue]]</h1>
      [[!SimpleSearch? &tpl=`SearchResult` &containerTpl=`SearchResultsNew` &pageTpl=`PageLink` ¤tPageTpl=`CurrentPageLink`]]
      </div>
      [[$footer]]
      </body>
      </html>
      &tpl SearchResult:
      <div class="simplesearch-result">
          <h3>[[+idx]]. <a href="[[+link:is=``:then=`[[~[[+id]]]]`:else=`[[+link]]`]]" title="[[+longtitle]]">[[+pagetitle]]</a></h3>
          <div class="extract">
              <p>[[+extract]]</p>
          </div>
      </div>
        Андрей
        01 ноября 2021, 17:03
        1
        +1
        Вот так попробуй:
        <title>Результаты поиска по запросу - [[#GET.search]]</title>
        Что покажет?
          Виноградов Тимур
          01 ноября 2021, 17:44
          0
          Большое спасибо, сработало!
          Еще добавил восклицательный знак в начале — [[!#GET.search]]
          чтобы не кэшировалось.

          Я так понял что это некая глобальная переменная(GET.search) вызывается из урла?
    Андрей
    01 ноября 2021, 19:38
    +1
    Да, массив GET, получаем get параметры из url
    [[#GET.id]] //так получим параметр id, и т.д.
    {$.get.search} //если включен fenom на страницах, то будет работать и так

    В первом случае это теги fastField которые были встроены в pdoTools. Подробней почитать тут — Теги fastField. Про fenom впрочем можно почитать там же :)
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    19