У меня есть следующая структура в моей библиотеке Sitecore медиаУдаление дочерних элементов рекурсивно в Sitecore CMS.NET
изображения/Отдел/суб-отдел/продукта/
И я хочу, чтобы удалить все изображений в коде за один раз. На данный момент у меня есть
Item[] items = database.SelectItems("/sitecore/media library/images/department1//*");
Sitecore.Data.Engines.DataEngine engine = new Sitecore.Data.Engines.DataEngine(database);
using (new SecurityDisabler())
{
foreach (Item item in items)
{
engine.DeleteItem(item))
}
}
Проблема заключается только в удалении дочерних образов отдела 1 и ничего под ним?
Благодарим вас за ответ, за какую причину вы используете DataEngine? –
Быстрый ответ никогда, если вы не знаете, что делаете. Более длинный ответ заключается в том, что иногда людям нужна хардкорная настройка или обходной путь, чего нельзя достичь с использованием более высоких уровней публичных API. Но даже тогда, скорее всего, это будет сделано с поддержкой Sitecore, это не то, что мы документируем. –
Могу ли я также предложить использовать расширение Sitecore Rocks для Visual Studio. Вы можете просмотреть свое дерево контента прямо из VS и выполнить «commandy», щелкнув правой кнопкой мыши в любом месте дерева данных и выбрав анализатор запросов. Один из них используется для этого случая: delete from/sitecore/media library/images/department1/* Вы также можете использовать атрибуты Item, такие как [@@ templateid = ""] и т. Д. Желаем удачи , –