Почему в pdoPage при переходе на другую страницу новостей сбрасывается контекст? Как это исправить?

Есть страница с новостями. На ней есть pdoPage. Вот вызов:
[[!pdoPage?
    &elementClass=`modSnippet`
    &element=`pdoResources`

    &parents=`[[*id]]`
    &tpl=`allnewsItem`
    &includeTVs=`newsImg, newsDate`
    &prepareTVs=`1`
    &depth=`0`
    &limit=`6`
    &includeContent=`1`

    &ajax=`1`
    &ajaxMode=`default`

    &pageVarKey=`page`
    &pageNavVar=`page.nav`
]]

На сайте два контекста — web (по умолчанию, он русский) и en (английский).
В карточке новости есть вызов сниппета, результат которого зависит от контекста. Вот примерный код.
<?php
switch($context = $modx->context->key) {
  case 'web':
    $result = 'Привет';
    break;
  case 'en':
    $result = 'Hello';
    break;
}

return $result;

Если я зайду на английскую версию сайта, открою страницу с новостями, в карточке будет выводиться «Hello». Потом я перейду, например, на страницу 2. И в карточке будет выводиться «Привет». Хотя я все еще на английской версии сайта.

Почему так происходит? Должно же выводиться «Hello».
Как это можно исправить?

Использовать лексиконы — не вариант, т.к. строка в реальном проекте создается динамически.
Andry
02 июля 2020, 21:49
modx.pro
98
0

Как вывести используя Fenom название tv поля (не значение).

Доброго времени суток!
Встал вопрос о выводе в синтаксисе fenom НАЗВАНИЕ поля:
Вот такой пример поля создал в админке, в tv полях, назвал tv_name, со значениями:
Поле1==значение_поля1||Поле2==значение_поля2
Имя в стандартном шаблонизаторе можно получить через модификатор tvLabel
Пример со стандартным шаблонизатором:
[[*tv_name:tvLabel]]
Этот код выводит «Поле1» или «Поле2», в зависимост от выбора в настройках ресурса
С использованием fenom этот модификатор не работает, искал в документации, нет ни каких упоминаний, может плохо искал))
Mx
Mx
02 июля 2020, 19:37
modx.pro
100
0

mFilter2 подпункты

Можно ли сделать выбор фильтра с подпунктами?
_ Чекбокс в фильтре
______ Подпункт
______ Подпункт второй
_ Чекбокс в фильтре
______ Подпункт
______ Подпункт второй
Василий
02 июля 2020, 11:54
modx.pro
160
0

modrestcurlclient.class.php в modx 2.7.3 - что за зверь? Создает миллион ошибок в логе

Скачал с офф сайта modx 2.7.3.
После установки смотрю лог ошибок, а там несколько тысяч
[2020-07-02 10:29:47] (ERROR in xPDO::getService @ /home/site/public_html/core/xpdo/xpdo.class.php : 1234) modRestClient::__construct is deprecated since version 2.3.0. Use the modRest classes instead.
[2020-07-02 10:29:47] (ERROR in modRestCurlClient::__construct @ /home/site/public_html/core/model/modx/rest/modrestcurlclient.class.php : 26) modRestClient::__construct is deprecated since version 2.3.0. Use the modRest classes instead.
Судя по пути, это что то из комплекта самого ядра modx.
Кто то сталкивался?
Как то не хочется начинать разработку на сайте, который сразу после установки завалил меня ошибками.
Александр Мельник
02 июля 2020, 11:18
modx.pro
133
0

Ошибка при регистрации: office_auth_err_email_send

Добрый день.
Вылезает ошибка при регистрации: office_auth_err_email_send
Соответственно, регистрация с помощью Office
Как ее решить?
Андрей
02 июля 2020, 09:59
modx.pro
90
0

Починить метод оплаты

1 2 500
Добрый день.
Разработали (сторонние разработчики) оплату на сайте через банк Авангард, сайт скопировали, заменили shop_ID, shop_name, PWD, но оплата не запустилась. Нужно сравнить, найти отличия, разобраться, какой способ передачи сообщений используется – post, XML, запустить эквайринг.
Илья PROseo
02 июля 2020, 09:56
modx.pro
99
0

Автоматическое увеличение числа (стаж работы) в определенный день каждый год.

Доброго времени суток.
На сайте есть раздел с преподавательским составом. В информации про преподавателя есть пункт «стаж», записанный таким образом:
<p>пед. стаж: <span style="font-family:georgia,serif;"><em><strong>12 років</strong></em></span></p>
Каждый год, как вы понимаете, стаж увеличивается. Подскажите как бы правильно это дело автоматизировать.
Пока что дошел до такого:
• Создал новый сниппет, в котором, определяю текущую дату и сравниваю её с нужной датой. Затем увеличиваю число стажа, если дата подходит (так же в нём записана функция, которая в зависимости от числа подставляет слово «год» в правильно склонении – 1 год; 12 лет и т.д.):
<?php
  $oldStazh; //текущий стаж, записанный вручную

  $todayYear = date('Y');
  $mustBeDate = '01.06';
  $todayDate = date('d.m'); //день, когда стаж должен увеличиться
  $stazh = $oldStazh + $todayYear - 2020; //новый стаж
  if ($mustBeDate == $todayDate) $stazh++; //увеличиваем стаж, если сегодня 01.06

//функция для того что бы правильное окончание выдавало в слове "год"
if (!function_exists('format_by_count')) {
    function format_by_count($stazh)
    {
        if($stazh % 10 == 1 && $stazh % 100 != 11)
            return 'рік';
        if($stazh % 10 >= 2 && $stazh % 10 <= 4 && ($stazh % 100 < 10 || $stazh % 100 > 20))
            return 'роки';
        return 'років';
    }
}

return $stazh . ' ' . format_by_count($stazh);
• На странице где нужно выводить информацию о стаже вызываю созданный сниппет и передаю туда значение стажа на текущий год:
<p>пед. стаж: <span style="font-family:georgia,serif;"><em><strong>[[!pedStazh? &oldStazh=`25`]]</strong></em></span></p>
Поигрался на локальной копии меняя время в системе. Ставлю точную дату 01.06.2020 – стаж увеличивается. Ставлю 01.06.2021 – стаж увеличивается ещё на 1. Но если поставить дату 01.07.2020 стаж возвращается к значению $oldStazh. И если я правильно понимаю, то изменение срабатывает только для того пользователя, который зашел на страницу.
Можно ли это дело сделать так что бы срабатывало на стороне сервера в определенный день и даже, если пользователь зайдет месяц (условно) спустя, то увидит уже новый стаж? Желательно без использования БД…
Lem
Lem
01 июля 2020, 18:26
modx.pro
139
0

Расчет стоимости доставки в modx

2 8 000
Необходимо сделать расчет стоимости доставки ups и usps при оформлении заказа в modx minishop2
Максим
01 июля 2020, 14:56
modx.pro
107
0

Задваивание комментов tickets на мобильных устройствах.

Поймал странный баг — комменты(ticketsComments) с мобилок задваиваются. От платформы Андройд/Айфон — не зависит. Ни у кого такого не было?
Антон
30 июня 2020, 20:24
modx.pro
89
0

Tickets не создаются превью в ms2Gallery при загрузке с фронтенда

Подскажите, создаю тикет с фронтэнда, прикрепляю изображения к тикету(ms2Gallery), но возникает проблема не создается превью для ms2Gallery, основное изображение есть.



Если добавлять изображения с админки, то все нормально.
В чем может быть проблема?
FuzeSpace
30 июня 2020, 18:35
modx.pro
68
0