Я пытаюсь вставить фигуры в свой макет из моего модуля, как только он был включен.Я подумал, что IShapeFactoryEvents будет идеальным для этого, но запрос CMS отсюда дает мне «исключение TransactionScope, вложенное неправильно», если это происходит во время POST.Хотите знать, есть ли у кого-нибудь слова мудрости для меня снова?Смотрите мой фрагмент кода ниже.
public void Created(ShapeCreatedContext context)
{
if (context.ShapeType == "Layout")
{
if (!AdminFilter.IsApplied(_services.WorkContext.HttpContext.Request.RequestContext))
{
var route = RouteTable.Routes.GetRouteData(_services.WorkContext.HttpContext);
object location;
if (route.Values.TryGetValue("location", out location))
{
var region = _services.ContentManager.Query("Region")
.Join<RoutePartRecord>()
.Where(x => x.Slug == (string)location)
.Slice(1).FirstOrDefault();
context.Shape.Header.Add(context.New.CurrentRegion(Title: region.As<RoutePart>().Title), "10");
}
context.Shape.Navigation.Add(context.New.RegionSelector(Regions: _services.ContentManager.Query(VersionOptions.Published, "Region").List()), "11");
}
}
}
Еще раз спасибо заранее.Вы, ребята, потрясающие.