Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 117 комментариев

Павел Романов
Павел Романов
Для получения id верхней категории можно использовать pdoField, а дальше разводить. Если Ракеты, Арбузы, Магия находятся в корне (уровень указывается в topLevel), то так:
{var $category = 'pdoField' | snippet : ['topLevel' => 1, 'field' => 'id']}
{$category == 1}
    {include 'arbuzi'}
{elseif $category == 25}
    {include 'raketi'}
{elseif $category == 100}
    {include 'magic'}
{else}
{/if}
Артур Шевченко
Артур Шевченко
Вообще есть компонент ExtraFields который позволяет легко расширить модель ресурса и не использовать ТВ.

Так же можно написать свой модификатор, который будет получать на вход id родителя и id ресурса и проверять есть родитель в ответе метода $modx->getParentIds($rid). Есть два нюанса. Во-первых я не знаю есть ли такой метод в тройке. Во-вторых если построение карты ресурсов будет отключено в системных настройках, то работать модификатор перестанет.
Илья
Илья
Всем большое спасибо. Не знаю из-за чего изначально не заработало, может кэш не почистил, может еще что-то было, но в файле
/public_html/core/components/jevix/vendor/agelxnash/jevix/src/functions.php
поменял фигурные кавычки на квадратные и заработало. Стоит последняя версия php. Из плюсов еще заработало создание тикетов, раньше при кнопке сохранить просто зависало на сохранении, теперь заработало.
Илья
Илья
Менял фигурные скобки и пробовал разные версии php ничего не сработало. Техподдержка бегет тоже отписалась, что нужно попробовать версию php понизить и скобки поменять на квадратные. Попробую снова поиграться со скобками и версиями php может заработает.
Артур Шевченко
Артур Шевченко
Находил в инете варианты, что может быть из-за версии php, пробовал менять, ничего не случалось.
А ты PHP 5.6 ставил? У тебя же есть сообщение об ошибке, там написано «Array and string offset access syntax with curly braces is no longer supported» и указано в каком файле и на какой строке. Думаю надо заменить фигурные скобки на квадратные.
Илья
Илья
Пробовал на двух хостингах на бегете и таймвебе, и везде ошибка 500 появляется. На бегете писал в поддержку, мне отписались что проблема возникает из-за некоректной работы php-скрипта
[26-Feb-2025 19:32:25 Europe/Moscow] PHP Fatal error:  Array and string offset access syntax with curly braces is no longer supported in /home/d/d20ilns5/gb.d20ilns5.beget.tech/public_html/core/components/jevix/vendor/agelxnash/jevix/src/functions.php on line 10
Находил в инете варианты, что может быть из-за версии php, пробовал менять, ничего не случалось.