Ich habe die folgende Struktur in meiner Sitecores MedienbibliothekLöschen geordneten Elemente rekursiv in Sitecore CMS.NET
images/Abteilung/Unterabteilung/product/
Und ich möchte alle löschen der Bilder im Code eine Abteilung zu einer Zeit. Im Moment habe ich
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))
}
}
Das Problem ist, löscht es nur die Kind-Bilder von department1 und nichts darunter?
Vielen Dank für Ihre Antwort, für welchen Grund würden Sie die DataEngine verwenden? –
Schnelle Antwort ist nie, es sei denn, Sie wissen, was Sie tun. Längere Antwort ist, dass manchmal Menschen eine hardcore Anpassung oder eine Problemumgehung benötigen, die nicht mit öffentlichen APIs höherer Ebene erreicht werden kann. Aber selbst dann wird es wahrscheinlich von Sitecore-Support-Sachen gemacht, dies dokumentieren wir nicht. –
Kann ich auch vorschlagen, die Sitecore Rocks-Erweiterung für Visual Studio zu verwenden. Sie können Ihren Inhaltsbaum direkt in VS anzeigen und einen "Commandy" ausführen, indem Sie mit der rechten Maustaste auf eine beliebige Stelle im Inhaltsbaum klicken und einen Abfrageanalysator auswählen. Eine für diesen Fall verwendete wäre: löschen von/sitecore/Medienbibliothek/images/department1/* Sie können auch Artikelattribute verwenden, wie [@@ templateid = ""], etc. Viel Glück . –