0

名前とメールアドレスの 2 つの入力フィールドを持つ非常に単純なウィジェットを構築しようとしています。現在、私はhttp://www.deepcode.co.uk/search?q=how+to+build+a+widget+without+a+model+in+Orchardに従っています。

Migration.cs

public int UpdateFrom22()
{
    ContentDefinitionManager.AlterTypeDefinition("QuickLinkWidget", builder => builder
    .WithPart("QuickLinkWidgetPart")
    .WithPart("CommonPart")
    .WithPart("WidgetPart")
    .WithSetting("Stereotype", "Widget"));

    return 23;
}

ContentPartRecord (モデル/QuickLinkWidgetRecord.cs)

public class QuickLinkWidgetRecord : ContentPartRecord

{
    //We shall not define any property for this class.
    //We shall not create any HANDLER for this widget because we do not need to store any data to our database.
}

ContentPart: (モデル/QuickLinkWidgetPart.cs)

public class QuickLinkWidgetPart : ContentPart<QuickLinkWidgetRecord>
{
    //Again we shall not definte any Record property here......
    //We shall not create any HANDLER for this widget because we do not need to store any data to our database.
}

ハンドラ

リポジトリを扱っていないため、定義しませんでした。

ドライバー: ((Models/QuickLinkWidgetDriver.cs))

public class QuickLinkWidgetDriver : ContentPartDriver<QuickLinkWidgetPart>

{
    override DriverResult Display(QuickLinkWidgetPart part, string displayType, dynamic shapeHelper)
    {
    //We do not have any property defined in Model class.
    //So we don't have to assign any Default values to anything!
    //We shall just return a SHAPE of the widget
    }
}

Placement.info:

<Place Widgets_QuickLinkWidget="AsideFirst:1" />

最後にビュー: Views/Widgets/QuickLinkWidget.cshtml

@using Emfluence.Intrust.Models;

@model Contact

<h2>Our Side link widget</h2>

ビューに追加したものは何もありません

私が間違っていることを理解するのを手伝ってください。レンダリングされたウィジェットがまったく表示されないのはなぜですか? 私はこの 3 日間、それで立ち往生しています!, ただ、最初にそれがレンダリングされるのを見たい!

よろしくお願いいたします。

4

1 に答える 1

0

同様の問題があり、placement.infoファイルの設定を変更することで機能しました...あなたの場合はこれを試してください

<Place Widgets_QuickLinkWidget="Content" />
于 2015-09-15T22:34:30.727 に答える