Как подружить SendIt и Polylang ?
Добрый день!
На сайте имеется форма, которая работает через SendIt, при клике на radio button запускается пресет
Подскажите, каким образом можно вывести заголовки выбранного языка сайта?
На сайте имеется форма, которая работает через SendIt, при клике на radio button запускается пресет
'change_category_type' => [
'hooks' => '',
'snippet' => 'change_category_type',
'resultBlockSelector' => '#category_type_results',
'resultShowMethod' => 'insert',
],
В самом снипете «change_category_type» делаю различные проверки и запускаю еще один снипет $modx->runSnippet(
'pdoResources', array(
'parents' => 63,
'depth' => 1,
'limit' => 0,
'sortby' => '{"id":"ASC"}',
'onlyWithLocalization' => 1,
'tpl' => '@INLINE : <p> [[++lang]] - [[+pagetitle]]</p>'
))
Всё вроде хорошо, снипет «pdoResources» срабатывает, но не отображаются заголовки ресурсов на другом языке. Отображаются заголовки только основного языка.Подскажите, каким образом можно вывести заголовки выбранного языка сайта?
Комментарии: 5
Polylang не предназначен для работы по ajax. Тебе нужно передавать на сервер текущий ключ языка. А на сервере написать плагин на событие OnMODXInit в котором надо устанавливать cultureKey значение равное текущему языку. И нужно плагину Polylang поставить приоритет 1.
Сделал плагин, и указал жёстко переопределение языка.
Кстати самому плагину Polylang приоритет «1» не ставил еще.
Но как передать туда ключ текущего языка, так и не нашел. Можете подсказать каким образом передать можно?
Кстати самому плагину Polylang приоритет «1» не ставил еще.
switch ($modx->event->name) {
case 'OnMODXInit':
$modx->setOption('cultureKey', 'uz');
break;
}
Работает отлично.Но как передать туда ключ текущего языка, так и не нашел. Можете подсказать каким образом передать можно?
В php есть супер глобальные массивы $_COOKIE, $_SESSION, $_REQUEST клади туда. Самый простой вариант- добавь поле с ключом в форму которая отправляется на сервер.
Спасибо, я уже начал как раз пробывать передавать через $_COOKIE.
Просто думал есть какой то другой правильный способ )
Просто думал есть какой то другой правильный способ )
После стольких мучений, я понял что SendIt и Polylang очень даже дружат.
Моя ошибка была в том, что я не увидел одного мелкого важного момента.
Важно! Ссылка переключения языка должна иметь класс polylang-toggle или тот который указан в параметре trigger сниппета PolylangLinks.
Я лишь указал этот класс и всё само заработало.
Моя ошибка была в том, что я не увидел одного мелкого важного момента.
Важно! Ссылка переключения языка должна иметь класс polylang-toggle или тот который указан в параметре trigger сниппета PolylangLinks.
Я лишь указал этот класс и всё само заработало.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.