Есть ли список встроенных параметров, доступных для Sitecore XSLT? Я осмотрелся, но не увидел ничего похожего на полный список, по крайней мере, по сравнению с данными, к которым компонент .NET может обращаться напрямую. Использование XSLT "из коробки" в Sitecore выглядит немного ограниченным в отношении данных, к которым он может легко получить доступ, по сравнению с компонентами представления .NET.
Меня особенно интересует возможность доступа к различным частям информации, относящимся к запуску нескольких сайтов и языков в одной инсталляции - домашний узел, имя хоста, имя сайта и т. Д. В .NET большая часть этого кажется доступны либо через Sitecore.Context, либо через объекты сервера .NET. Мне нужно иметь возможность получать как контекстную информацию, так и настройки для других доменов / сайтов в одном решении.
например. mysite1.com в en-GB и mysite2.com в da-DK указывают на один и тот же контент только на разных языках. Оба домена теоретически могут поддерживать другие языки, некоторые из которых могут быть общими (например, оба сайта допускают перевод FR-FR). В этом случае мне нужно знать, на каком сайте я сейчас нахожусь, на каком языке я нахожусь и какие языки поддерживаются. Аналогичная информация будет необходима для определения, например, CSS для сайта, разделы контента и т. д.
Если мне нужно раскрыть эти глобальные настройки и настройки сайта, как мне это сделать? Я вижу несколько возможных методов, в том числе:
- Написание функций расширения на C #
- Создание шаблона / элемента глобальных настроек и использование XSLT для их чтения и преобразования в параметры - XSLT может быть включен / импортирован в другие XSLT при необходимости.
Цель состоит в том, чтобы сделать весь код как можно более универсальным.
Есть ли лучшая практика для этого? Каковы недостатки двух методов выше?