示例#1
0
        public override async Task GetContentItemAspectAsync(ContentItemAspectContext context, PreviewPart part)
        {
            var pattern = GetPattern(part);

            if (!String.IsNullOrEmpty(pattern))
            {
                await context.ForAsync <PreviewAspect>(async previewAspect =>
                {
                    var model = new PreviewPartViewModel()
                    {
                        PreviewPart = part,
                        ContentItem = part.ContentItem
                    };

                    var templateContext = new TemplateContext();
                    templateContext.SetValue("ContentItem", part.ContentItem);
                    templateContext.MemberAccessStrategy.Register <PreviewPartViewModel>();
                    templateContext.SetValue("Model", model);

                    previewAspect.PreviewUrl = await _liquidTemplateManager.RenderAsync(pattern, NullEncoder.Default, templateContext);
                    previewAspect.PreviewUrl = previewAspect.PreviewUrl.Replace("\r", String.Empty).Replace("\n", String.Empty);
                });
            }

            return;
        }
示例#2
0
        public override async Task GetContentItemAspectAsync(ContentItemAspectContext context, PreviewPart part)
        {
            var pattern = GetPattern(part);

            if (!String.IsNullOrEmpty(pattern))
            {
                await context.ForAsync <PreviewAspect>(async previewAspect =>
                {
                    var model = new PreviewPartViewModel()
                    {
                        PreviewPart = part,
                        ContentItem = part.ContentItem
                    };

                    previewAspect.PreviewUrl = await _liquidTemplateManager.RenderStringAsync(pattern, NullEncoder.Default, model,
                                                                                              new Dictionary <string, FluidValue>()
                    {
                        ["ContentItem"] = new ObjectValue(model.ContentItem)
                    });

                    previewAspect.PreviewUrl = previewAspect.PreviewUrl.Replace("\r", String.Empty).Replace("\n", String.Empty);
                });
            }

            return;
        }