我正在尝试为块列表和使用 int 页面创建自定义报告。所以我需要获取所有可用块类型的列表以及页面中的用法/链接。
我已经尝试了下面的代码,但这需要 Block 作为输入来获取用法。
var repository = ServiceLocator.Current.GetInstance<IContentRepository>();
var contentTypeRepository = ServiceLocator.Current.GetInstance<IContentTypeRepository>();
var contentModelUsage = ServiceLocator.Current.GetInstance<IContentModelUsage>();
var myblockType = contentTypeRepository.Load<InputBlock>();
List<ContentReference> myblockTypeReferences = contentModelUsage.ListContentOfContentType(myblockType).Select(x => x.ContentLink.ToReferenceWithoutVersion()).Distinct().ToList();
InputBlock blockType;
foreach (ContentReference cref in myblockTypeReferences)
{
repository.TryGet<InputBlock>(cref, out blockType);
model.lstBlocks.Add(blockType);
}
我希望不提供输入块并获取 Episerver 中可用的所有块类型列表以及页面中的用法