在Sitecore中制作可重复使用的布局/子布局时,我经常希望按ID访问特定项目。这提出了一个挑战,因为我不确定哪些项目在所有Sitecore安装中都具有相同的ID。
Sitecore根ID(/sitecore
)在{11111111-1111-1111-1111-111111111111}
处是常量,其他ID可以存储为常量,而不必担心需要为每个项目更新?
答案 0 :(得分:4)
我猜大多数结构项在不同的安装中都有相同的ID。
Sitecore有Sitecore.ItemIds
个类,它引用了一些主要项目。
以下是其中包含的项目列表
public static ID AnonymousUser;
public static ID BranchesRoot;
public static ID ConditionalRenderingsGlobalRules;
public static ID ContentRoot;
public static ID DefaultRibbon;
public static ID DevicesRoot;
public static ID EveryoneRoleID;
public static ID LanguageRoot;
public static ID LayoutRoot;
public static ID Layouts;
public static ID MediaLibraryRoot;
public static ID Null;
public static ID PlaceholderSettingsRoot;
public static ID Policies;
public static ID RootID;
public static ID Shell;
public static ID ShellAll;
public static ID ShellDefault;
public static ID SystemRoot;
public static ID TemplateRoot;
public static ID Undefined;
[Obsolete("This ID has been deprecated.")]
public static ID VirtualStructures;
public static ID WorkflowRoot;
如果你在这里找不到所需,我认为最好的解决方案是依靠路径而不是ID。路径更易于阅读和调试。