如何在Kentico 12页面类型中创建一对多关系?

因此,我已经创建了用于内容输入的页面类型。第一部分,即24个字段,设置了一些标题和布尔值字段,它们指示是否在页面上显示某些信息或按钮。这可以正常工作,我可以按照我们想要的方式自定义输入表单。但是问题是,现在如何在一对多关系中建立联系。例如,备用重定向网址,多个内容段落。这个想法是让产品具有与用户当前正在使用的相同的输入表格,很多人逃脱了我的注意。我正在使用MVC开发人员端。我已经创建了自定义模块和关联的Web控件,但是无法确定如何将它们添加到页面类型布局中。

谢谢。

zijijie 回答:如何在Kentico 12页面类型中创建一对多关系?

要使模块表链接到页面类型,您需要一个交叉引用表。该表将包含来自页面类型的GUID以及来自模块表的GUID。链接页面类型和模块记录的方式可以在页面类型上完成(这会比较困难),也可以创建一个自定义UI模块,该模块将允许用户查看链接表以及添加或删除记录。这将是所有模块表记录的列表,然后允许您选择一个模块记录并查看或添加许多链接。

然后在页面显示中,您只需对该交叉引用表进行自定义查询,然后加入模块表即可获取所需的数据。

,

每种方法各有优缺点。

您可以使用“相关页面”来关联其他包含您的内容的页面(例如,包含段落信息的页面)。我的人际关系扩展模块可以为您提供帮助。

您可以使用内容树存储关系,在页面下方放置多个项目,并使用NodeAliasPath查找某些页面类型(DocumentHelper.GetDocuments("My.PageType").Path(YourParent.NodeAliasPath+"/%"))的子项

您还可以使用多重选择器,将guid或代号存储在单个字段上的逗号分隔列表中(不是最大,但可以完成)。

您还可以通过模块创建自己的自定义绑定类,尽管您需要确保使用ObjectTypeInfo正确配置事物,以便在Kentico中对其进行正确处理。再次,Relationships Extended模块可​​以帮助创建界面来维护它。

请参见RelationshipsExtended

还有My Blog on this topic

还有一个presentation on different data modeling with pros and cons

本文链接:https://www.f2er.com/2969080.html

大家都在问