微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 2sxc 应用程序的详细信息视图中使用演示设置?

如何解决如何在 2sxc 应用程序的详细信息视图中使用演示设置?

我有一个 2sxc 应用程序,其中包含一个详细信息视图列表。所以我有两个模板:_listing.cshtml 和 _details.cshtml。

“我的详细信息”模板使用“URL 路径中的名称”字段,如下所示:resource/.*,以便在用户浏览到其 URL 时过滤单个项目。

在列表设置中,我可以为列表配置演示设置,当我编辑列表中的项目时,它们会显示出来。但是当我在详细信息模板上配置演示设置时,它们不会出现在编辑模式中。

如何让演示设置适用于我的应用中项目的详细信息视图? (我知道我可以将这些字段作为内容类型中的普通内容字段,但这似乎是一个hacky 解决方法......但如果必须的话,我会这样做)

解决方法

这可以做到,但您必须正确接线。

详细信息视图通常只使用查询来获取带有 ID 的项目。但是,在这种情况下,您希望从当前列表/模块中获取带有 ID 的项目。因为只有在列表的上下文中,项目才具有 Presentation 属性。

因此使用 CmsBlock DataSource(在 v12 中)或 ModuleDataSource(在之前的版本中)获取当前模块的数据,然后通过 ID 过滤输出。

一个简单的开始方法是创建一个新的查询 - 它会显示初始设置以获取当前列表/模块的数据。

,

我在没有尝试或测试的情况下回答,所以希望像丹尼尔这样的人会以更好的方式加入,但我认为问题在于上下文。我假设您从列表视图编辑?通过 TabToolbar 显示编辑蓝圆铅笔?当您在列表视图上编辑项目时,Presentation 实体位于该模块和列表视图的上下文中。

因此,当您在 Detail View 中显示时,Presentation 项不存在,因为您没有从那里启动 Edit。

您是否尝试过不在列表视图上发出 TagToolbar 而只允许在详细视图中进行编辑?或者也可以在细节视图上发出它,看看你是否得到了不同的设置?

如果这行得通,那就很有趣了。这意味着对于每个内容项,您可以连接不同的 Presentation 内容类型,并且您可以为 List 与 Detail 设置不同的 Presentation。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。