Localizator: TV и MIGX не переводило, а ларчик оказалось открывался просто
Столкнулся с одной особенностью работы Localizator с MIGX и TV.
Все никак не получалось заставить Localizator правильно переводить MIGX поля и в некоторых случаях отдельные TV поля. Перепробовал кучу вариантов, пытался выводить через выводы сниппетов localizator, pdoResources, getImageList. Потратил пару суток впустую, кучу нервов и сил.
А в итоге оказалось все просто. Случайно обнаружил что некоторые TV переводит, а некоторые нет.
В некоторых местах я MIGX выводил следующим образом:
В итоге вывод этого кода не переводился как надо, выводился только MIGX не из переводов.
Но если заменить
Возможно это только у меня.
Также обычные TV-поля если пишу вывод TV-поля в fenom {$_modx->resource.id|resource:'why_us_description'} то не переводит, а если пишу {$_modx->resource.why_us_description} то переводит нормально.
Это такая особенность Localizator? Почему об этом нет ничего в документации? Правильная нотация вывода TV для Localizator?
Нотация с указанием
К примеру чтобы указать некий список из доп. поля другого ресурса (Новости, Акции). Вышеописанная ситуация подталкивает к тому что так делать не получится, а бывает это очень нужно. Или я чего-то не понимаю. Коллеги подскажите как быть в этой ситуации?
Обновлено 10.06.2024: Спасибо Александру за подсказку.
Используем модификатор
Все никак не получалось заставить Localizator правильно переводить MIGX поля и в некоторых случаях отдельные TV поля. Перепробовал кучу вариантов, пытался выводить через выводы сниппетов localizator, pdoResources, getImageList. Потратил пару суток впустую, кучу нервов и сил.
А в итоге оказалось все просто. Случайно обнаружил что некоторые TV переводит, а некоторые нет.
В некоторых местах я MIGX выводил следующим образом:
{set $rows = json_decode($_modx->resource.id | resource : 'migx_why_us_list', true)}
{foreach $rows as $idx =>$row1 index=$index}
<li>
{$row1.textprichini}
</li>
{/foreach}
где migx_why_us_list — MIGX поле.В итоге вывод этого кода не переводился как надо, выводился только MIGX не из переводов.
Но если заменить
$_modx->resource.id | resource : 'migx_why_us_list'
на $_modx->resource.migx_why_us_list
то все начинает работать как надо.Возможно это только у меня.
Также обычные TV-поля если пишу вывод TV-поля в fenom {$_modx->resource.id|resource:'why_us_description'} то не переводит, а если пишу {$_modx->resource.why_us_description} то переводит нормально.
Это такая особенность Localizator? Почему об этом нет ничего в документации? Правильная нотация вывода TV для Localizator?
Нотация с указанием
$_modx->resource.id | resource : 'migx_why_us_list'
— удобнее для работы с другими ресурсами, когда к примеру надо указать Tv поля другого ресурса — к примеру {20 | resource : 'migx_why_us_list'}
— здесь обращаемся к TV-полю ресурса 20. К примеру чтобы указать некий список из доп. поля другого ресурса (Новости, Акции). Вышеописанная ситуация подталкивает к тому что так делать не получится, а бывает это очень нужно. Или я чего-то не понимаю. Коллеги подскажите как быть в этой ситуации?
Обновлено 10.06.2024: Спасибо Александру за подсказку.
Используем модификатор
{20 | locfield : 'migx_why_us_list'}
для обращения к TV полю конкретного ресурса. Комментарии: 2
О, круто, спасибо! Не знал про такой модификатор.
В документации тоже не увидел — вот бы было неплохо если бы в документации добавляли комментарии понятные для чего и за что отвечает код плагина.
В документации тоже не увидел — вот бы было неплохо если бы в документации добавляли комментарии понятные для чего и за что отвечает код плагина.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.