Как я могу поместить элементы Sitecore в нечто отличное от даты их создания?
Я использую Sitecore с DMS (Sitecore 7.2) и настраиваю различные элементы управления в своих макетах для извлечения контента из разных папок на основе карты профиля пользователя. Я хотел бы, чтобы эти папки были папками "корзины", поскольку для каждой карточки профиля будет одна папка, и авторам будет немного неприятно вручную обновлять все эти папки каждый раз, когда новая карточка профиля добавлен.
В " Руководстве разработчика по корзинам предметов и поиску" говорится:
по умолчанию элементы организованы в соответствии с датой и временем создания элемента, но это можно настроить для использования другого поведения
В идеале я хотел бы поместить свои элементы в поле, определенное в шаблоне, от которого наследуются все мои шаблоны "сгибаемых" элементов. Я установлю это поле как выпадающий список из списка карточек профилей.
Я нашел демонстрацию Sitecore Autohaus с классом Bucketing.GuidFolderPath - похоже, мне нужно определить один из этих классов с помощью GetFolderPath
метод? Но тогда как мне сообщить моему элементу корзины Sitecore, что я хочу использовать этот класс?
2 ответа
Вы действительно можете использовать пользовательский IDynamicBucketFolderPath и установить его в конфигурации (BucketConfiguration.DynamicBucketFolderPath), но это изменит ваше значение по умолчанию для всех сегментов.
Вы можете определить правила в sitecore, чтобы указать структуру папок для определенного пути / template/id/etc. По умолчанию существует 3 правила: CreateDateBasedPath, CreateIDBasedPath и CreateItemNameBasedPath, но вы, конечно, можете добавить свои собственные правила в /sitecore/system/Settings/Rules/Definitions/Elements/Bucketing/
Вы можете изменить стратегию объединения двумя способами:
Использование предопределенных правил группирования. Перейдите к настройкам группы элементов, хранящимся в папке /sitecore/system/Settings/Buckets, и создайте новое правило (Стратегия группирования: дата создания элемента) для определения пути к папке корзины.
Написание пользовательского кода для стратегии группирования. Напишите класс 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