【问题标题】:Sitecore presentation: Not using XSLT renderings at allSitecore 演示:根本不使用 XSLT 渲染
【发布时间】:2011-10-17 19:51:11
【问题描述】:

我是 Sitecore 的新手,我们的团队正在使用 Sitecore 构建我们的第一个项目。我浏览了很多教程,其中大多数都使用 XSLT 渲染。但我想知道 XSLT 可以完成的所有事情是否也可以通过 Sublayout 完成(例如渲染内容集合)?如果可能的话,我想在这个项目中避免使用 XSLT。

谢谢!

【问题讨论】:

  • 感谢大家的回答!

标签: .net content-management-system sitecore


【解决方案1】:

我认为你会在使用 xslt 之前遇到问题,然后再使用 sublayout 方法。我们开始使用 XSLT 开发网站,但几个月后开始使用子布局。我现在无法想象基于 XSLT 构建的新 Web 应用程序。子布局是要走的路,当有很多 xslt 不能自己做的事情时,可以很容易地在子布局方法中完成。最重要的是,您将能够获得 Visual Studio 的好处,并且使用子布局可以实现更多功能。

【讨论】:

    【解决方案2】:

    我建议避免使用 XSLT。它们看起来很容易使用,但在重构时——它们根本无法使用。 您不能使用 Resharper 之类的工具来重构 XSLT,而且每次需要输出值时都无法使用域模型代替字段名称。

    如果您需要向 XSLT 添加一些新功能 - 很有可能没有 xsl 扩展是不可能的。您最终会得到许多 CustomXslHelper 类,这些类允许在 XSLT 中使用 Sitecore API 和基本 .NET 操作。

    【讨论】:

      【解决方案3】:

      Sitecore 使用了three main types of rendering technologies。它们一起属于“渲染”总称。 XSLT 非常不受欢迎,因为它是自己的语言。 WebControls 和 Sublayouts 是相似但不同的方法来处理几乎相同的事情。两者都是用 C# 实现的。

      1. XSLT - 使用 XSLT 语言的 XSL 转换文件。使用这些可以实现有限的功能
      2. WebControls - 这些是编译成 DLL 并用作服务器控件的 C# 类。很多功能可以在这里完成,但需要注意的是前端代码是用 C# 编写的,使用 HtmlTextWriters(IMO:“废话!”)
      3. 子布局 - 这些是具有前端ascx 文件和ascx.cs CodeBehind 的用户控件,用于将前端与后端逻辑分开。这就像一个 WebControl,但将设计和逻辑关注点分开,以便于编写可重用的组件。可以在其中创建任何功能,并且可以仅使用子布局(除了布局)来构建整个网站。

      对于 Sitecore 关于这些技术的官方文档,它们在 Presentation Component Reference 在选择演示技术部分下的SDN

      我的意见:子布局是要走的路。

      【讨论】:

        【解决方案4】:

        可以在 XSLT 中完成的所有操作都可以在 SubLayout(它只是一个 ASCX 或 WebControl)中完成。实际上有些事情在 XSLT 中是很难做到的,而实际上在 SubLayout 中做得更好。

        使用 XSLT 的主要原因主要是为了便于输出。输出一些 HTML 和显示字段要容易得多,但这绝不是必需的。

        我已经使用 Sitecore 一年了,我没有发现任何我不得不使用 XSLT 的问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-05-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多