Условие вывод в fenom
Добрый день!
Подскажите как можно на fenom создать условие на вывод контента.
На странице есть tv поле язык (английский, русский, украинский), и в зависимости от языка выводится текст, если выбрано английский — статья доступна на английском языке, если русский на русском, если украинский на украинском, а если выбрано например на русском и английском нужно подставлять статья доступна на английском и русском языках и так далее. Как составить такого рода условие. Вывод по одному языку вывел через
Подскажите как можно на fenom создать условие на вывод контента.
На странице есть tv поле язык (английский, русский, украинский), и в зависимости от языка выводится текст, если выбрано английский — статья доступна на английском языке, если русский на русском, если украинский на украинском, а если выбрано например на русском и английском нужно подставлять статья доступна на английском и русском языках и так далее. Как составить такого рода условие. Вывод по одному языку вывел через
{switch $_modx->resource.lang}
{case 1}
{var $lang = "на английском языке"}
{case 2}
{var $lang = "на русском языке"}
{case 3}
{var $lang = "на украинском языке"}
{default}
{var $lang = "на английском, русском и украинском языках"}
{/switch}
а чтоб при выборе двух или трех языков не получается Комментарии: 3
А почему нельзя в значениях ТВ написать «на английском языке», «на русском языке», «на украинском языке». В параметрах вывода разделителем указать запятую. А потом вывести вот так
Статья доступна {$_modx->resource.lang}
Тогда если будет выбрано три варианта то получится
статья доступна на английском, русском, украинском языке
а нужно минимум как языках
Используйте склонения если это проблема
Нужно посмотреть что содержится в $_modx->resource.lang при выборе нескольких языков(массив или строка), оттуда делать подсчет.
— Если массив, то просто {set $countLangs = count($_modx->resource.lang)}
— Если строка, то через explode в массив, а дальше как предыдущем пункте
Когда есть $countLangs пробуем так:
Нужно посмотреть что содержится в $_modx->resource.lang при выборе нескольких языков(массив или строка), оттуда делать подсчет.
— Если массив, то просто {set $countLangs = count($_modx->resource.lang)}
— Если строка, то через explode в массив, а дальше как предыдущем пункте
Когда есть $countLangs пробуем так:
{$countLangs | declension : 'яблоко|яблока|яблок'} // яблок
{$countLangs | declension : 'яблоко|яблока|яблок' : true} // 3 яблока
{$countLangs | decl : 'яблоко,яблока,яблок' : false : ','} // яблоко
Или{if $countLangs > 1}
{set $l = 'языках'}
{else}
{set $l = 'языке'}
{/if}
статья доступна на {$_modx->resource.lang} {$l}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.