Презентация Sitecore: вообще не использует визуализацию XSLT - PullRequest
4 голосов
/ 02 августа 2011

Я новичок в Sitecore, и наша команда строит наш первый проект с использованием Sitecore. Когда я просматриваю многие учебные пособия, большинство из них использует XSLT-рендеринг. Но мне было интересно, может ли все, что может быть сделано с XSLT, также быть выполнено через Sublayout (например, рендеринг коллекции контента)? Если возможно, я бы хотел избежать XSLT для этого проекта.

Спасибо!

Ответы [ 4 ]

6 голосов
/ 02 августа 2011

Существует три основных типа технологий рендеринга , используемых с Sitecore.Вместе они подпадают под общий термин «рендеринг».XSLT довольно непопулярен, так как это его собственный язык.WebControls и Sublayouts похожи, но по-разному подходят к одному и тому же.Оба реализованы в C #.

  1. XSLT - XSLT-файлы преобразования с использованием языка XSLT.Ограниченные функциональные возможности могут быть реализованы с помощью этих
  2. WebControls - это классы C #, которые компилируются в DLL и используются в качестве серверных элементов управления.Здесь можно сделать много функциональных возможностей, но предостережение заключается в том, что интерфейсный код пишется на C # с использованием HtmlTextWriter s (IMO: «бла!»)
  3. подуровни - это пользовательские элементы управления, которые имеют оба фронта-end ascx file и ascx.cs CodeBehind, чтобы отделить внешний интерфейс от серверной логики.Это похоже на WebControl, но разделяет проблемы дизайна и логики, чтобы упростить написание повторно используемых компонентов.В них могут быть созданы любые функциональные возможности, и можно создавать целые сайты только с подуровнями (в дополнение к макетам).

Официальная документация Sitecore по этим технологиям описана в Справочник по компонентам презентации в SDN в разделе «Выбор технологии презентации».

Мое мнение: подслойные издания - это путь.

1 голос
/ 02 августа 2011

Я бы посоветовал избегать использования XSLT. Они кажутся довольно простыми в использовании, но когда дело доходит до рефакторинга - они вообще становятся непригодными для использования. Вы не можете использовать такие инструменты, как Resharper, для рефакторинга XSLT, и нет способа использовать модель домена вместо имен полей каждый раз, когда вам нужно вывести значения.

Если вам нужно добавить некоторые новые функции в XSLT - есть большая вероятность, что без расширений xsl обойтись невозможно. И в итоге вы получите множество классов CustomXslHelper, которые позволяют использовать API Sitecore и базовые операции .NET в XSLT.

1 голос
/ 02 августа 2011

Все, что может быть сделано в XSLT, может быть сделано в SubLayout (который является просто ASCX или WebControl). На самом деле есть некоторые вещи, которые трудно сделать в XSLT, и на самом деле они лучше выполняются в SubLayout.

Основная причина сделать XSLT главным образом для простоты вывода. Гораздо проще вывести некоторые поля HTML и отображения, но это ни в коем случае не требуется.

Я уже год пользуюсь Sitecore и не обнаружил проблем, когда у меня было для использования XSLT.

0 голосов
/ 25 августа 2011

Я думаю, что вы столкнетесь с проблемами при использовании xslt намного раньше, чем в любом случае, используя подход подслоя. Мы начали разработку веб-сайтов с использованием XSLT, но через несколько месяцев начали использовать подслоя. Я не могу представить себе новое веб-приложение, построенное на XSLT. Сублайты - это путь, когда есть много вещей, которые xslt не может сделать самостоятельно, что можно легко сделать в подходе субслейтов. Вдобавок ко всему, вы сможете воспользоваться преимуществами Visual Studio, а ее функции будут намного шире с использованием подуровней.

...