0

Orchard.Comments モジュールのレイアウトをカスタマイズして、Orchard テーマにコメント フォームを追加しようとしています。

通常、シェイプ トレーシングを使用して新しいテンプレートを作成すると、デフォルトのビュー cshtml が取り込まれ、すべてが機能します。これは、コメントの 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' 型のモデル アイテムが必要です。"

エラーの原因は、Display が /Core/Contents/Views/Content.Edit.cshtml を介して呼び出されたときです。

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

テーマ内のエディター テンプレートをオーバーライドして、モデル タイプをモジュール内のものと一致させることは可能ですか?

そうでない場合、指定された Orchard Shape に基づいて編集フォームを生成する最良の方法は何ですか?

ありがとう!

4

2 に答える 2

0

テーマのビュー フォルダーにフォルダーを作成することで、エディター テンプレートを上書きできるはずです。コメント用のエディター テンプレートをオーバーライドしようとしたことはありません。すべてがどのように機能するかはよくわかりませんが、次のようになると思います。

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

または、それらに沿った何か^_^

于 2013-09-12T10:31:27.070 に答える
0

コードで定義された (ただしテンプレートでは定義されていない) 形状の代替を作成することはできないようです。オーチャード メジャーは、CSS を使用してフォームを希望どおりに表示することを推奨しています: http://orchard.codeplex.com/discussions/389726

于 2014-02-27T09:54:20.227 に答える