@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 языков конструкция будет очень громоздкой. Как можно по-другому задать условие?
  • Вопрос задан
  • 323 просмотра
Пригласить эксперта
Ответы на вопрос 1
@PetrPo
Как вариант если у тебя окончание кода свойства будет равно LANGUAGE_ID
<?if (LANGUAGE_ID == 'ru') {?>
<?=$arItem['PREVIEW_TEXT'];?>
<?} else {?>
 <?=$arItem['PROPERTIES']['TEXT_'.strtoupper(LANGUAGE_ID)]['VALUE'];?>
<?}?>

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

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

Войти через центр авторизации
Похожие вопросы