Задать вопрос
@ksenia_strakhova

Как задать условие вывода свойства Битрикс по ID языковой версии сайта?

Сайт на 1С-Битрикс на 7 языках.
Создаю разные свойства для каждого языка у инфоблоков, например, EN_TITLE, DE_TITLE и т.д. а картинки и другие общие файлы выводятся одинаковыми на всех языках. Вопрос в том, как задать условие, чтобы в зависимости от ID сайта выводилось заданное свойство? У них отличие в коде свойства только как раз в id языка.
Таким образом делала для 2 языков (рус, и анг,):
<?if (LANGUAGE_ID == 'ru') {?>
<?=$arItem['PREVIEW_TEXT'];?>
<?} elseif (LANGUAGE_ID == 'en') {?>
 <?=$arItem['PROPERTIES']['TEXT_EN']['VALUE'];?>
<?}?>


Но для 7 языков конструкция будет очень громоздкой. Как можно по-другому задать условие?
  • Вопрос задан
  • 426 просмотров
Подписаться 2 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@PetrPo
Как вариант если у тебя окончание кода свойства будет равно LANGUAGE_ID
<?if (LANGUAGE_ID == 'ru') {?>
<?=$arItem['PREVIEW_TEXT'];?>
<?} else {?>
 <?=$arItem['PROPERTIES']['TEXT_'.strtoupper(LANGUAGE_ID)]['VALUE'];?>
<?}?>

Если в начале, соответственно в начало ставишь strtoupper(LANGUAGE_ID)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы