1

モジュール内に次の簡単なコマンドを記述しました。FAQタイプには、1つのフィールドを持つ1つのカスタムパーツと1つのBodyPartがあります。_cm.Create(item)が実行された後、アイテムにはIDが割り当てられていますが、データベースにそのトレースが見つからず、Orchardの[コンテンツ]タブに表示されません。アイテムがIDを取得するのに、データベースに見つからないのはなぜですか?また、コンテンツタブに表示される前に、ドライバー、ビュー、および配置情報が必要ですか?

public class ApiCommands : DefaultOrchardCommandHandler
{
    private readonly IContentManager _cm;

    public ApiCommands(IContentManager cm)
    {
        _cm = cm;
    }

    [CommandName("api seed")]
    public void Seed()
    {
        var item = _cm.New("Faq");
        item.As<FaqPart>().Question = "Why is the sky blue?";
        item.As<BodyPart>().Text = "Shut up and do your homework.";

        _cm.Create(item);
    }
}

私のカスタムパーツにはドライバーがありません。これはハンドラーです。

public FaqHandler(IRepository<FaqPartRecord> repository)
{
    Filters.Add(StorageFilter.For(repository));
}
4

1 に答える 1

0

私のタイプはCommonPartをアタッチしていなかったことがわかりました。アタッチしてパーツのOwnerプロパティを設定した後、保存することができました。

于 2012-07-05T17:59:55.640 に答える