Orchard CMS を使用してサイトを構築し、独自のカスタム モジュールを作成しています。私はいくつかのチュートリアルに従っていますが、これまでのところとても良いです。
.ShapeHelper() メソッドがどのように機能するのか理解できず、少し困っています。
私の Driver ファイルからの次のコードは、完全に正常に動作し、フロントエンドでビューを生成します。
protected override DriverResult Display(SubscribersFormPart part, string displayType, dynamic shapeHelper)
{
// setup model
part.DateStamp = System.DateTime.Now;
return ContentShape("Parts_SubscribersForm", () => shapeHelper.DisplayTemplate(TemplateName: "Parts/SubscribersForm", Model: part, Prefix: Prefix));
}
ただし、他のチュートリアルDisplayTemplate
で、パーツ/ビューの名前ではなく、代わりに使用されることを見てきました..これは、特にシェイプ トレーシング モジュールを使用するときに、「DisplayTemplate」を見て少し混乱するので、私が望むものです (下の画像..) より認識しやすい名前ではなく
私は単に私の方法を次のように変更しようとしました:
protected override DriverResult Display(SubscribersFormPart part, string displayType, dynamic shapeHelper)
{
// setup model
part.DateStamp = System.DateTime.Now;
return ContentShape("Parts_SubscribersForm", () => shapeHelper.Parts_SubscribersForm(TemplateName: "Parts/SubscribersForm", Model: part, Prefix: Prefix));
}
- 「Parts_SubscribersForm()」に注意してください-これを行うと、次のエラーが発生します...
ビューが配置されている場所に関係していると思いますが、オーチャードが必要とする正しいフォルダーにビューがあるとも信じています。これは、私のビューが関係するフォルダー構造です...
「DisplayContent」ではなく、shapeHelper メソッドでパーツ名を使用できる場所を教えてください。