Как разделить элементы Sitecore на что-то другое, кроме даты их создания?

Я использую Sitecore с DMS (Sitecore 7.2) и настраиваю различные элементы управления в своих макетах, чтобы извлекать содержимое из разных папок на основе карточки профиля пользователя. Я бы хотел, чтобы эти папки были папками «сегмента», так как для каждой карточки профиля будет одна папка, и авторам будет немного неприятно вручную обновлять все эти папки каждый раз, когда новая карточка профиля добавлен.

"Руководство по сегментам элементов и поиску для разработчиков " говорит:

по умолчанию элементы организованы в соответствии с датой и временем создания элемента, но это можно настроить для использования другого поведения

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

Я нашел демонстрацию Sitecore Autohaus с Класс Bucketing.GuidFolderPath — похоже, мне нужно определить один из этих классов с помощью метода GetFolderPath? Но как тогда мне сообщить моему элементу корзины Sitecore, что я хочу использовать этот класс?


person George    schedule 15.07.2014    source источник


Ответы (2)


Вы действительно можете использовать собственный IDynamicBucketFolderPath и установить его в конфигурации (BucketConfiguration.DynamicBucketFolderPath), но это изменит значение по умолчанию для всех сегментов.

Вы можете определить правила в sitecore, чтобы указать структуру папок для определенного пути/шаблона/идентификатора/и т. д. По умолчанию существует 3 правила: CreateDateBasedPath, CreateIDBasedPath и CreateItemNameBasedPath, но вы, конечно, можете добавить свои собственные правила в /sitecore/system/Settings/Rules/Definitions/Elements/Bucketing/

person Chris van de Steeg    schedule 15.07.2014
comment
К вашему сведению, вы можете настроить правила в поле Rules for Resolving the Bucket Folder Path, расположенном в /sitecore/system/Settings/Buckets/Item Buckets Settings. - person jammykam; 15.07.2014

Вы можете изменить стратегию группирования двумя способами:

  1. Использование предопределенных правил группирования. Перейдите к настройкам корзины элементов, хранящимся в папке /sitecore/system/Settings/Buckets, и создайте новое правило (Стратегия группировки: дата создания элемента) для разрешения пути к папке корзины.

  2. Написание собственного кода для стратегии группирования. Напишите класс CustomBucketFolderPathResolver, который реализует интерфейс IDynamicBucketFolderPath и возвращает путь к папке.

Подробную информацию можно найти в посте ниже:

http://www.bugdebugzone.com/2014/07/configuring-sitecore-item-buckets-with.html

http://www.bugdebugzone.com/2014/07/configuring-sitecore-item-buckets-with_19.html

person Dheer Rajpoot    schedule 20.07.2014
comment
Эй... какие-нибудь идеи, как мы можем это сделать, когда поле даты элемента обновляется и сохраняется..!! - person Prathamesh dhanawade; 16.09.2015
comment
@Prathameshdhanawade, вам просто нужно повторно синхронизировать ведро - person Tyshun; 18.04.2017