【发布时间】:2016-01-17 15:35:14
【问题描述】:
我问了这个问题over on the Kentico devnet,但还没有一个明确的答案。
我对 Kentico 8.2 实现有特殊要求,在代码中,给定特定的 TreeNode,我想首先找到正在使用的模板上的所有区域,然后对于每个区域,获取所有区域的详细信息这些区域中使用的 Web 部件和小部件。
就我而言,我不需要担心模板继承。我的页面都没有实现模板继承。
我找到了this post on the old Kentico forums,这表明我可以使用PageInfoProvider 来获取相关TreeNode 的PageInfo 对象,然后使用其PageTemplateInfo 属性来访问我需要的内容。
但是,我没有看到 CMS.DocumentEngine.PageInfo 的 PageTemplateInfo 属性。有DesignPageTemplateInfo 和UsedPageTemplateInfo。我想UsedPageTemplateInfo 可能就是其中之一,它确实在其WebPartZones 集合中包含了正确的区域。但我没有在区域的WebParts 集合中看到我期望的 Web 部件(实际上是小部件)。
我想我要问的是,如何使用 API 以结构化对象的形式访问来自 dbo.CMS_Document 的 DocumentWebParts 列的内容?我意识到我可以通过在TreeNode 上调用.GetProperty("DocumentWebParts") 来访问我需要的信息,但这是非结构化的XML。我假设在 API 的某个地方我可以将这些信息作为结构化对象获取。
有人知道我可以如何访问我需要的详细信息吗?谢谢。
附:我的模板使用 ASPX+portal 模型。
【问题讨论】:
标签: kentico