0

我正在尝试自定义 Orchard.Comments 模块的布局,在我的 Orchard 主题中添加评论表单。

通常我会使用形状跟踪来创建一个新模板,它将填充默认视图 cshtml 并且一切正常。这不适用于 Comments 中的 EditorTemplate,并且可能是任何 EditorTemplate 覆盖的问题。

这就是我在这种情况下所做的:

  • 使用形状跟踪来查找 Content/Parts_CommentForm。
  • 展开 Content_Edit 并单击 EditorTemplate
  • 单击创建 ~/Themes/MyTheme/Views/EditorTemplate-Comment.cshtml

结果是创建的文件是空白的,而不是具有默认视图。因为模板文件被使用但现在是空白的,所以没有显示添加评论表单。

如果我尝试使用 Orchard.Comments 模块 Orchard.Comments/Views/EditorTemplates/Parts.Comments.cshtml 中的编辑器模板,则会收到错误消息“传递到字典中的模型项的类型为 'Orchard.DisplayManagement.Shapes.Shape ',但是这个字典需要一个'Orchard.Comments.Models.CommentPart'类型的模型项。”

错误的来源是通过 /Core/Contents/Views/Content.Edit.cshtml 调用 Display

> 第 3 行:@if (Model.Content != null) {
> 第 4 行:              
> 第 5 行:@Display(Model.Content)
> 第 6 行:              
> 第 7 行:}

是否可以覆盖主题中的编辑器模板并使模型类型与模块中的模型类型匹配?

如果不是,那么根据给定的果园形状生成编辑表单的最佳方法是什么?

谢谢!

4

2 回答 2

0

您应该能够通过在主题的视图文件夹中创建一个文件夹来覆盖编辑器模板。我从来没有尝试覆盖编辑器模板的评论,真的不知道它是如何工作的,但我认为它看起来像这样:

~/Themes/MyTheme/Views/EditorTemplate/Parts.Comment.cshtml

或者类似的东西^_^

于 2013-09-12T10:31:27.070 回答
0

看起来不可能为在代码中定义的形状(但不是在模板中)创建替代品。Orchard 专业建议使用 CSS 使表单看起来像您想要的那样:http: //orchard.codeplex.com/discussions/389726

于 2014-02-27T09:54:20.227 回答