覆盖在Orchard主题中添加注释表单

时间:2013-09-11 20:51:55

标签: orchardcms orchardcms-1.7

我正在尝试自定义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',但这个字典需要一个'Orchard.Comments.Models.CommentPart'类型的模型项。“

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

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

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

如果没有,基于给定的果园形状仍然生成编辑表单的最佳方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:0)

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

  

〜/主题/ MyTheme的/查看/ EditorTemplate / Parts.Comment.cshtml

沿着这些方向的东西^ _ ^

答案 1 :(得分:0)

看起来无法为代码中定义的形状(但不在模板中)创建替代项。 Orchard主要建议使用CSS使表单看起来像你想要的那样:http://orchard.codeplex.com/discussions/389726