Sitecore - несколько элементов одного типа на веб-странице - PullRequest
0 голосов
/ 15 декабря 2011

Предположим, что на моем сайте много страниц, и на большинстве страниц есть 1 или более экземпляров простого визуального элемента с заголовком, описанием и миниатюрой.Количество этих элементов на страницах является переменным.Как мне создать шаблон данных?

В идеале я хотел бы создать отдельный шаблон данных для этого элемента, поскольку его поля данных могут измениться в ближайшем будущем.Я хотел бы использовать этот шаблон в качестве базового шаблона для своих страниц, но это дает мне только один экземпляр раздела данных для работы.

Другое требование состоит в том, чтобы эти элементы не группировались вместе на странице влогичная манера;они могут появляться в любом месте на странице, и редакторы страниц должны иметь возможность свободно вставлять и удалять их.

Мой опыт использования SiteCore на сегодняшний день заключается в том, что веб-страницы основаны на жестких шаблонах данных, поэтому создание гибких страниц не то, чтообрабатывается легко.Может быть, я что-то упустил, так как я довольно новичок в этом продукте.

Ответы [ 3 ]

4 голосов
/ 16 декабря 2011

Это возможно путем создания подслоя, который является обычным .NET UserControl, и создания уникального шаблона источника данных для заполнения данных для элемента управления. Например, вы можете создать простой подуровень Callout, для которого требуется элемент Callout DataSource, имеющий необходимые поля для визуализации.

Я написал сообщение в блоге об этом: Использование поля источника данных с подклассами Sitecore

0 голосов
/ 16 декабря 2011

Можно создать отдельный шаблон данных для элемента блока содержимого (заголовок + описание + визуальный элемент).

Затем под элементом вашей страницы создайте папку (например, блоки контента), которая содержит элементы контента.

При рендеринге вашей страницы вы просто загружаете элементы из папки блоков содержимого и отображаете их на странице (например, с помощью повторителя).

Таким образом, вы можете контролировать, какие блоки содержимого появляются, просто добавляя / удаляя их из папки, вы можете сортировать их, и вы можете добавлять новые поля к ним в любой момент.

Если они не расположены логически в группе, вы можете добавить поле в блок контента, в котором указано, где оно должно отображаться на странице.

0 голосов
/ 15 декабря 2011

Если мы используем аналогию шаблона автомобиля с:

  1. Марка
  2. модель
  3. изображение

в качестве данных,тогда вы можете иметь корневой элемент под названием «список машин» в вашем дереве sitecore.После этого вы можете сделать столько машин, сколько вам.Если вы хотите добавить несколько автомобилей на определенную страницу, то в шаблоне, из которого вы создали страницу, вы можете добавить sitecore treelist в шаблон и указать источник этой точки в вашем списке автомобилей.Теперь вы можете ссылаться на выбранные автомобили на определенной странице.Затем вы можете создать модуль, который может извлекать элементы списка и отображать их на вашей странице.Это довольно просто, потому что элемент древовидного списка похож на любой другой элемент.Хорошая вещь в этом заключается в том, что вы можете установить стандартные значения для автомобиля, и когда они изменятся, значения изменятся для всех автомобилей на всех страницах.

...