1

Glass Mapper を使用するSitecoreContext().GetItem<Sitecore.Data.Items.Item>(ItemPath)と正常に動作しますが、TDS + Glass によって生成されたカスタム モデルで使用するとすぐに が返されますnull

私のコードは次のとおりです。

NavigationHelper.cs

public class NavigationHelper
{
    public static int GetChildCount()
    {
        var context = new SitecoreContext();
        string g = "/sitecore/content/home/Site Settings/Top Navigation Items";

        var t = context.GetItem<Models.sitecore.templates.Navigation.Navigation_Item_Folder>(g);
        var v = context.GetItem<Items.Item>(g);
        // t is always null, but v always finds the item correctly.
        return t.Children.Count();
    }
}

Models.sitecore.templates.Navigation.Navigation_Item_Folderは、Glass と TDS によって生成されたモデルであり、次のとおりです。

/// <summary>
/// Navigation_Item_Folder
/// <para></para>
/// <para>Path: /sitecore/templates/Navigation/Navigation Item Folder</para>    
/// <para>ID: c0f00c6b-145e-47f2-9427-57df58a612f1</para>   
/// </summary>
[SitecoreType(TemplateId=INavigation_Item_FolderConstants.TemplateIdString)] //, Cachable = true
public partial class Navigation_Item_Folder  : GlassBase, INavigation_Item_Folder 
{

}

これは単なるフォルダーなので、フィールドはありません。この部分クラスを拡張してタイトル フィールドを含めようとしましたが、問題は解決しませんでした。

私はすでに次の手順を試しました: Sitecore Glass マッパー GetItem<TypeName>(guid) は常に null を返しますが、役に立ちませんでした。

4

1 に答える 1

2

としてGUIDを試していただけ{C0F00C6B-145E-47F2-9427-57DF58A612F1}ますか?テンプレート ID でアイテムを検索するときに、標準の Sitecore クエリに大文字と小文字の区別の問題があることを確認しました。

于 2015-10-20T00:33:46.737 に答える