Sitecore演示:根本不使用XSLT渲染

时间:2011-08-01 22:25:52

标签: .net content-management-system sitecore

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

谢谢!

4 个答案:

答案 0 :(得分:6)

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

  1. XSLT - 使用XSLT语言的XSL转换文件。这些
  2. 可以实现有限的功能
  3. WebControls - 这些是C#类,它们被编译成DLL并用作服务器控件。这里可以完成很多功能,但需要注意的是前端代码是用C {#1}}编写的(IMO:“blah!”)
  4. 子布局 - 这些是具有前端HtmlTextWriter文件和ascx CodeBehind的用户控件,用于将前端和后端逻辑分开。这与WebControl类似,但将设计和逻辑问题分开,以便轻松编写可重用的组件。可以在这些中创建任何功能,并且可以仅使用子布局构建整个站点(除了布局)。
  5. 对于Sitecore关于这些技术的官方文档,我们将对其进行解释 选择演示技术部分下的Presentation Component Reference上的SDN

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

答案 1 :(得分:1)

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

进行XSLT的主要原因主要是为了便于输出。输出一些HTML和显示字段会更容易,但这绝不是必需的。

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

答案 2 :(得分:1)

我建议避免使用XSLT。它们看起来很容易使用,但是当涉及到重构时 - 它们变得无法使用。 您不能使用Resharper之类的工具来重构XSLT,并且每次需要输出值时都无法使用域模型而不是字段名称。

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

答案 3 :(得分:0)

我认为你会在早些时候使用xslt遇到问题然后使用sublayout方法。我们开始使用XSLT开发网站,但几个月后开始使用子布局。我无法想象现在在XSLT上构建新的Web应用程序。子布局是要走的路,当有很多事情xslt不能自己做,这可以很容易地在子布局方法中完成。最重要的是,你将能够获得视觉工作室的好处,并且使用子布局可以提供更多功能。