我是Sitecore的新手,我們的團隊正在使用Sitecore構建我們的第一個項目。當我瀏覽大量的教程時,大多數教程都使用XSLT渲染。但是我想知道是否所有可以用XSLT完成的事情都可以通過Sublayout完成(例如渲染內容集合)?如果可能的話,我想避免這個項目的XSLT。Sitecore演示文稿:根本不使用XSLT渲染
謝謝!
我是Sitecore的新手,我們的團隊正在使用Sitecore構建我們的第一個項目。當我瀏覽大量的教程時,大多數教程都使用XSLT渲染。但是我想知道是否所有可以用XSLT完成的事情都可以通過Sublayout完成(例如渲染內容集合)?如果可能的話,我想避免這個項目的XSLT。Sitecore演示文稿:根本不使用XSLT渲染
謝謝!
還有three main types of rendering technologies與Sitecore一起使用。它們一起歸屬於「渲染」總稱。 XSLT非常不受歡迎,因爲它是自己的語言。 WebControls和Sublayouts是類似的,但幾乎相同的東西不同的方法。兩者都在C#中實現。
HtmlTextWriter
(IMO:「blah!」)ascx
文件和CodeBehind將前端與後端邏輯分開。這就像WebControl一樣,但將設計和邏輯關注點分開,以便編寫可重用組件。任何功能都可以在這些中創建,並且可以通過子佈局構建整個站點(除佈局外)。對於Sitecore的這些技術的正式文件,他們在 的Presentation Component Reference下部分選擇展示技術解釋的SDN。
我的看法:sublayouts是要走的路。
在XSLT中可以完成的所有事情都可以在SubLayout(它只是一個ASCX或WebControl)中完成。實際上有些事情在XSLT中很難做到,事實上在SubLayout中做得更好。
做XSLT的主要原因主要是爲了方便輸出。輸出一些HTML和顯示字段非常容易,但這絕不是必需的。
我一直在使用Sitecore一年,而且我還沒有發現任何問題,我在有使用XSLT。
我建議避免使用XSLT。它們看起來很容易使用,但是當涉及到重構時,它們完全無法使用。 您不能使用Resharper這樣的工具來重構XSLT,並且每次需要輸出值時都無法使用Domain Model而不是字段名稱。
如果您需要爲XSLT添加一些新功能 - 如果沒有xsl擴展名是很難做到的。最後你會得到許多CustomXslHelper類,它們允許在XSLT中使用Sitecore API和基本的.NET操作。
我認爲你會在早期使用xslt遇到問題,然後通過使用sublayout方法。我們開始使用XSLT開發網站,但幾個月後開始使用子佈局。我無法想象現在在XSLT上構建了一個新的Web應用程序。 Sublayouts是要走的路,當xslt自己無法完成的很多事情都可以通過sublayout方法輕鬆完成。最重要的是,你將能夠享受Visual Studio的好處,而且它的功能更多地使用子佈局。
謝謝大家的回答! – feiyingx