示例#1
0
        protected override void BuildDisplayShape(BuildDisplayContext context)
        {
            var contentItemTag = PageLevelCacheTag.For(context.Content);

            if (contentItemTag.HasValue)
            {
                mItemIdList.Add(contentItemTag.Value);
            }

            if (!mItemLevelCacheService.MarkupShouldBeTokenized(context.Content, context.DisplayType))
            {
                mItemIdList.Add(context.Content.Id);
            }
        }
示例#2
0
        protected override DriverResult Editor(ItemLevelCachePart part, IUpdateModel updater, dynamic shapeHelper)
        {
            if (!mAuthorizer.Authorize(ItemLevelCachePermissions.EditItemLevelCacheSettings))
            {
                return(null);
            }

            updater.TryUpdateModel(part, Prefix, null, null);

            part.SerializedItemLevelCacheSettings = mJsonConverter.Serialize(part.ItemLevelCacheSettings);

            if (mTagCache.GetTaggedItems(PageLevelCacheTag.For(part).ToString()).Any())
            {
                var contentType = part.ContentItem.TypeDefinition.DisplayName;
                var returnUrl   = mUrlHelper.Action("Index", new
                {
                    area       = "Orchard.Widgets",
                    controller = "Admin"
                });

                var url = mUrlHelper.Action("EvictByTag", new
                {
                    area       = "IDeliverable.Donuts",
                    controller = "CacheItems",
                    tag        = PageLevelCacheTag.For(part),
                    returnUrl
                });

                mNotifier.Warning(
                    T("There are some page level cache items that contain the {0} you have just edited. " +
                      "Any new item level cache settings you have applied to this item will not apply on those pages until their page level cache items expire. " +
                      "You can <a href=\"{1}\">evict these items now</a> in order for the changes to take effect immediately.", contentType, url));
            }

            return(Editor(part, shapeHelper));
        }