0

「/Identifier=40b3f227-61af-4d8b-95c9-53bd6021a70e」のようなId値を持つIdentityPartを持つHtmlWidgetがあります。

  <HtmlWidget Id="/Identifier=40b3f227-61af-4d8b-95c9-53bd6021a70e" Status="Published">
    <IdentityPart Identifier="40b3f227-61af-4d8b-95c9-53bd6021a70e" />
    ....

コードでこのようなウィジェットを削除する正しい方法は何でしょうか?どういうわけかcontentmanagerを使用してオブジェクトを取得し、それを削除または非公開にするとします。しかし、それを行う正確な仕組みについてはよくわかりません。アプローチの例といくつかのガイダンスをいただければ幸いです。

4

1 に答える 1

2

基本的に、あなたが提案したように、コンテンツマネージャを使用してアイテムを取得します。たとえば、アイテムをそのIDで取得する場合:

var item = _contentManager.Query<IdentityPart, IdentityPartRecord>()
    .Where(c => c.Identifier == "40b3f227-61af-4d8b-95c9-53bd6021a70e")
    .Slice(0, 1).FirstOrDefault();

次に、取得したコンテンツアイテムをコンテンツマネージャーに戻し、削除または非公開にします。

if (item != null)
{
    //delete the item - remains in the db but is no longer a draft or published
    _contentManager.Remove(item.ContentItem);
    //or unpublish
    _contentManager.Unpublish(item.ContentItem);
}
于 2012-12-16T22:47:05.177 に答える