在其他用户的应用程序中使用 Piranha CMS Manager 编辑器

Posted

技术标签:

【中文标题】在其他用户的应用程序中使用 Piranha CMS Manager 编辑器【英文标题】:Use Piranha CMS Manager editor in application for other users 【发布时间】:2022-01-11 15:55:45 【问题描述】:

我正在尝试使用 Piranha CMS 创建一些动态表单。据我所知,目前不支持它,所以我正在寻找解决方法或替代方法。

我现在要做的是为其他用户使用管理器中的编辑器。更准确地说:当我想编辑页面时,这就是编辑器在我的经理中的样子 我有一个文本输入和一个选择,两者都是字段,还有更多字段要使用。

我希望系统管理员创建一个页面,其中包含这样的输入列表,现在只能由管理员使用。但是也让这个输入列表可供其他用户编辑。有可能吗?

我不确定如何提取此编辑器或行为,或者是否可能。问题是我们确实需要管理员能够为用户配置不同的表单输入,因为它是我们功能的主要核心。

非常感谢任何帮助/建议,谢谢!

【问题讨论】:

我投票结束这个问题,因为它与编程无关 无意冒犯,但为什么这不是与编程相关的问题?是园艺,我不知道吗? 【参考方案1】:

管理 UI 中的组件并非旨在以任何方式在前端应用程序中重用。由于 UI 是完全通用的,因此管理器中的编辑模型包含许多额外的元数据。如果您想在前端应用程序中构建一个编辑 UI,并且您正在使用 MVC 或 Razor Pages,那么最简单的方法就是。

    获取generic模型而不是强类型模型,例如api.Pages.GetById(...)而不是api.Pages.GetById<T>(...)。 循环选择区域中的可用字段(区域是ExpandObject,可以转换为IDictionary<string, object>)。 通过调用 @html.EditorFor(...) 字段来使用 Razor 中的内置支持。

使用这种方法,您可以轻松地为您使用的不同类型的字段创建自己的EditorTemplates,以匹配您的客户端应用程序中的呈现。

最好的问候

哈坎

【讨论】:

以上是关于在其他用户的应用程序中使用 Piranha CMS Manager 编辑器的主要内容,如果未能解决你的问题,请参考以下文章

Piranha CMS 自定义实体

现有 MVC 5 站点上的 Piranha CMS

piranha CMS 的 Sysparam 错误

基于 JWT 的 API + Piranha CMS 劫持 [Authorize] 路由

Piranha CMS 本地化

在 Piranha CMS 中访问全球站点区域