Пример использования
$data = $this->macros('system', 'getLangsList');
$items = data['items'];
В items будет содержаться массив информации о языковых версиях сайта.
Пример вызова
udata://system/getLangsList
XML-ответ UData
<udata module="system" method="getLangsList" generation-time="0.018271">
<items>
<item id="1" prefix="ru" is-default="1">Русский</item>
<item id="7" prefix="en">English</item>
</items>
</udata>
Примеры использования
При помощи этого макроса можно реализовать механизм определения переменной, использующийся в TPL-макросе %pre_lang%:
<xsl:variable name="lang" select="/result/@lang" />
<xsl:variable
name="default_lang"
select="document('udata://system/getLangsList')/udata/items/item[@is-default = '1']/@prefix" />
<xsl:variable name="pre_lang">
<xsl:if test="$lang != $default_lang">
/<xsl:value-of select="$lang"/>
</xsl:if>
</xsl:variable>
Теперь можно использовать переменную $pre_lang
в запросах по внутренним протоколам. В случае, если открыта страница языковой версии по умолчанию $pre_lang
будет равна пустому значению. В остальных случаях $pre_lang
будет равна языковому префиксу вида "/префикс".
Не используется. Используйте макрос %pre_lang%.