Sitecore XSLT 是否有可用的内置参数列表?我环顾四周,但没有看到任何看起来像完整列表的东西,至少与 .NET 组件可以直接访问的那种数据相比没有。与 .NET 表示组件相比,在 Sitecore 中使用开箱即用的 XSLT 似乎有点限制它可以轻松访问的数据。
我特别感兴趣的是能够访问与在单个实例安装上运行多个站点和语言相关的各种信息 - 主节点、主机名、站点名称等。在 .NET 中,大多数这些似乎都可以通过Sitecore.Context 或通过 .NET 服务器对象。我需要能够在同一解决方案中获取其他域/站点的上下文特定信息和设置。
例如,en-GB 中的 mysite1.com 和 da-DK 中的 mysite2.com 指向相同的内容,只是语言不同。理论上,这两个域都可以支持更多的语言,其中一些可能是共享的(例如,两个站点都允许 fr-FR 翻译)。在这种情况下,我需要知道我目前在哪个站点,我使用哪种语言以及支持哪些语言。需要类似的信息来确定例如站点特定的 CSS、内容部分等。
如果我需要公开这些全局和站点设置,我应该怎么做?我可以看到几种可能的方法,包括:
- 用 C# 编写扩展函数
- 创建全局设置模板/项目并使用 XSLT 读取它们并将它们转换为参数 - XSLT 可以根据需要包含/导入到其他 XSLT 中。
目的是使所有代码尽可能通用。
对此有最佳做法吗?上述两种方法的缺点是什么?