кросспост: 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"
));
}
}
У меня есть AppsWidget.cshtml в разделе View/Parts
МИГРАЦИЯ
#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" />
Виджет отображается нормально, однако шаблон части не отображается вообще. Когда я формирую трассировку, части appswidget нигде не видно под виджетом, но когда я проверяю модель, она там.
Я также отладил и подключил функцию отображения в драйвере, и никаких проблем не возникло. В логах ошибок тоже не вижу.
Есть идеи?