1

Sitecore データベース全体 (master、web、または pub) をすばやく簡単にクエリして、アイテムのテンプレートが存在しなくなった場所を特定する方法を探しています。

ツリー全体をシリアル化しようとしていますが、テンプレートが削除された多くのアイテムがあり、あまり頭を悩ませずにそれらのリストを取得したいと考えています。

これらのアイテムを表示すると、「テンプレート: テンプレートはもう存在しません。これをレンダリングするコードは次のとおりです」と表示されます

private static void RenderQuickInfoTemplate(HtmlTextWriter output, Sitecore.Data.Items.Item item)
    {
        Sitecore.Data.Items.Item item2;
        Sitecore.Diagnostics.Assert.ArgumentNotNull(output, "output");
        Sitecore.Diagnostics.Assert.ArgumentNotNull(item, "item");
        output.Write("<tr><td>");
        output.Write(Translate.Text("Template:"));
        output.Write("</td><td>");
        using (new SecurityDisabler())
        {
            item2 = item.Database.GetItem(item.TemplateID);
        }
        bool flag = (item2 != null) && (CommandManager.QueryState("shell:edittemplate", item) == CommandState.Enabled);
        if (flag)
        {
            output.Write("<a href=\"#\" onclick=\"javascript:scForm.postRequest('','','','shell:edittemplate');return false\">");
        }
        if (item2 != null)
        {
            output.Write(item2.Paths.Path);
        }
        else
        {
            output.Write(Translate.Text("[template no longer exists]"));
        }

ありがとう

4

3 に答える 3

1

削除されたテンプレートに基づくアイテムは、(標準の) ベース テンプレートから継承されなくなったと思います。クイックインフォでは、テンプレート ID が {000-0000-0000...} のようなものであることがわかります。

この ID に基づいてすべてのアイテムを検索してみてください。

于 2013-07-17T20:13:36.433 に答える
0

頭に浮かぶ2つのオプション:

  1. リンク切れレポートを確認する
  2. コンテンツ エディターの左側の「レール」を右クリックし、[壊れたリンク] を選択して、壊れたリンクのあるすべてのアイテムを表示できます。
于 2013-07-18T01:07:58.940 に答える