【发布时间】:2014-06-23 06:04:50
【问题描述】:
交叉邮件:https://orchard.codeplex.com/discussions/549374
我正在使用 Orchard 1.8,并且我已经构建了一个附加到小部件的部件。这是一个基本部分,但我在渲染模板时遇到了问题。这是我的代码:
型号
public class AppsWidgetRecord : ContentPartRecord {
}
public class AppsWidgetPart : ContentPart<AppsWidgetRecord> {
}
驱动程序
public class AppsWidgetDriver : ContentPartDriver<AppsWidgetPart>
{
protected override DriverResult Display(AppsWidgetPart part, string displayType, dynamic shapeHelper)
{
return ContentShape("Parts_AppsWidget",
() => shapeHelper.Partial(
TemplateName: "Parts/AppsWidget"
));
}
}
我在 View/Parts 下有一个 AppsWidget.cshtml
迁移
#region Define Apps Widget
ContentDefinitionManager.AlterPartDefinition(
typeof(AppsWidgetPart).Name, cfg => cfg.Attachable());
ContentDefinitionManager.AlterTypeDefinition("AppsWidget", cfg => cfg
.WithPart("WidgetPart")
.WithPart(typeof(AppsWidgetPart).Name)
.WithPart("CommonPart")
.WithSetting("Stereotype", "Widget"));
#endregion
#region Create Apps Widget
var appsWidget = _widgetsService.CreateWidget(homepageLayer.Id, "AppsWidget", "Apps", "5", "AfterContent");
appsWidget.RenderTitle = true;
appsWidget.Name = "apps";
_contentManager.Publish(appsWidget.ContentItem);
#endregion
展示位置
<Place Parts_AppsWidget="AfterContent:5" />
小部件渲染良好,但部件的模板根本不渲染。当我塑造跟踪时,在小部件下看不到appswidgetpart,但是当我检查模型时它就在那里。
我也调试了驱动中的显示功能,没有出现问题。我也没有在日志中看到任何错误。
有什么想法吗?
【问题讨论】:
-
您似乎缺少一个处理程序。另外,如果它是空的,为什么还要有一个记录类?
标签: asp.net-mvc-4 orchardcms orchardcms-1.8