【问题标题】:Access to document web parts and widgets in code for a given Kentico TreeNode访问给定 Kentico TreeNode 的代码中的文档 Web 部件和小部件
【发布时间】:2016-01-17 15:35:14
【问题描述】:

我问了这个问题over on the Kentico devnet,但还没有一个明确的答案。

我对 Kentico 8.2 实现有特殊要求,在代码中,给定特定的 TreeNode,我想首先找到正在使用的模板上的所有区域,然后对于每个区域,获取所有区域的详细信息这些区域中使用的 Web 部件和小部件

就我而言,我不需要担心模板继承。我的页面都没有实现模板继承。

我找到了this post on the old Kentico forums,这表明我可以使用PageInfoProvider 来获取相关TreeNodePageInfo 对象,然后使用其PageTemplateInfo 属性来访问我需要的内容。

但是,我没有看到 CMS.DocumentEngine.PageInfoPageTemplateInfo 属性。有DesignPageTemplateInfoUsedPageTemplateInfo。我想UsedPageTemplateInfo 可能就是其中之一,它确实在其WebPartZones 集合中包含了正确的区域。但我没有在区域的WebParts 集合中看到我期望的 Web 部件(实际上是小部件)。

我想我要问的是,如何使用 API 以结构化对象的形式访问来自 dbo.CMS_DocumentDocumentWebParts 列的内容?我意识到我可以通过在TreeNode 上调用.GetProperty("DocumentWebParts") 来访问我需要的信息,但这是非结构化的XML。我假设在 API 的某个地方我可以将这些信息作为结构化对象获取。

有人知道我可以如何访问我需要的详细信息吗?谢谢。

附:我的模板使用 ASPX+portal 模型。

【问题讨论】:

    标签: kentico


    【解决方案1】:

    正如我在 DevNet 上的第二个回答中提到的,您不能仅仅因为 webparts 在模板中而不是在特定页面中起作用而专门使用 cms_document 表。另一方面,每个页面的小部件都是特定的,即使该页面与另一个页面具有相同的模板。采取我提供的look at the example on the DevNet,它应该可以为您提供所需的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-02
      • 2017-05-28
      • 1970-01-01
      • 2018-09-14
      • 2020-09-20
      • 1970-01-01
      相关资源
      最近更新 更多