【问题标题】:Create Orchard ContentItem programmatically from Command从 Command 以编程方式创建 Orchard ContentItem
【发布时间】:2012-07-03 21:29:18
【问题描述】:

我在我的模块中编写了以下简单命令。 Faq 类型有一个带有单个字段的自定义部件和一个 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));
}

【问题讨论】:

  • 请提供处理程序的完整代码。
  • 修改问题以包含整个处理程序

标签: orchardcms


【解决方案1】:

原来我的类型没有附加 CommonPart。在我附加一个并设置部件的 Owner 属性后,我能够保存它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 2019-04-26
    • 2013-05-24
    • 1970-01-01
    相关资源
    最近更新 更多