Вывод переменной из словаря в шаблон
Задача вывести из компонента Simple Search в метатег title страницы поиска переменную $text, которая хранится в словаре.
То есть чтобы было:
Результаты поиска по запросу [[переменная->слово которое ищут]]
В словаре есть запись:
simplesearch.results_found
Со значением:
[[+count]] результатов найдено для "[[+text]]"
Но как вывести в шаблоне [[+text]]?
Сильно не пинайте если что, задавал данный вопрос тут, может не видно было, старый пост:
modx.pro/help/21312
То есть чтобы было:
Результаты поиска по запросу [[переменная->слово которое ищут]]
В словаре есть запись:
simplesearch.results_found
Со значением:
[[+count]] результатов найдено для "[[+text]]"
Но как вывести в шаблоне [[+text]]?
Сильно не пинайте если что, задавал данный вопрос тут, может не видно было, старый пост:
modx.pro/help/21312
Комментарии: 19
а там запрос разве в get параметрах не передается?
Поисковый запрос да, передается в урле.
FENOM {$.get['query']}
phx [[#get.query]]
phx [[#get.query]]
А без FENOM можно сделать, на традиционном языке MODx?
А я для чего два варианта написал? Даже подписал каждый.
Пробовал оба варианта, не работает.
Пишу например в чанке:
{$.get['query']}
Потом вывожу этот чанк в title, но ничего не выводиться.
Нагуглил еще вывод из словаря:
modx.pro/help/18498
Но тоже не работает.
Пишу например в чанке:
{$.get['query']}
Потом вывожу этот чанк в title, но ничего не выводиться.
Нагуглил еще вывод из словаря:
modx.pro/help/18498
Но тоже не работает.
Код формы поиска покажи.
<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]]"
В вызове simplesearch есть параметр searchIndex?
Не знаю, как это проверить?
Найти вызов и посмотреть есть ли там такой параметр
В сниппете есть searchIndex, но я так понимаю мне нужен параметр searchValue:
<input type="text" class="form-control form-control-search" name="[[+searchIndex]]" id="[[+searchIndex]]" value="[[+searchValue]]" />
В поле поиска он подставляется после выполнения поиска, но в шаблоне в title не работает почему-то.
Может быть кто-то сможет подсказать ответ?
Яндекс ругается уже на одинаковые заголовки title на страницах результата поиска :(
Яндекс ругается уже на одинаковые заголовки title на страницах результата поиска :(
Покажи чанк/шаблон где title выводится. И вызов формы поиска.
https://site.ru/poisk-po-sajtu.html?search=Текст поиска
На странице поиска url получается примерно такой? Покажи тоже какой url формируется.
URL формируется такой(если поисковый запрос «123»):
site.ru/rezultatyi-poiska/?search=123&id=207
Шаблон страницы результатов поиска:
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>
Вот так попробуй:
<title>Результаты поиска по запросу - [[#GET.search]]</title>
Что покажет?
Большое спасибо, сработало!
Еще добавил восклицательный знак в начале — [[!#GET.search]]
чтобы не кэшировалось.
Я так понял что это некая глобальная переменная(GET.search) вызывается из урла?
Еще добавил восклицательный знак в начале — [[!#GET.search]]
чтобы не кэшировалось.
Я так понял что это некая глобальная переменная(GET.search) вызывается из урла?
Да, массив GET, получаем get параметры из url
В первом случае это теги fastField которые были встроены в pdoTools. Подробней почитать тут — Теги fastField. Про fenom впрочем можно почитать там же :)
[[#GET.id]] //так получим параметр id, и т.д.
{$.get.search} //если включен fenom на страницах, то будет работать и так
В первом случае это теги fastField которые были встроены в pdoTools. Подробней почитать тут — Теги fastField. Про fenom впрочем можно почитать там же :)
Понял, еще раз спасибо за разъяснения! ?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.