首页 > 解决方案 > 配置 TextTemplate Provider 以从 DB 而不是 Abp 框架中的虚拟文件系统获取模板

问题描述

我正在使用新的 Abp 框架,我想知道是否有一种方法可以用来从数据库中获取 Scriban 模板,而不是从虚拟文件系统中获取它们。在示例代码中,获取模板的常用方法是放置一个包含 .tpl 文件的目录。有没有办法配置一个模板提供程序来检查数据库的模板?谢谢

标签: abp

解决方案


这里有集成 Scriban 的信息:

https://docs.abp.io/en/abp/latest/Text-Templating-Scriban

它特别提到从另一个来源获取模板 -

“您可以实现 ITemplateContentContributor 以从其他来源读取原始模板内容。”

public class MyTemplateContentProvider
    : ITemplateContentContributor, ITransientDependency
{
    public async Task<string> GetOrNullAsync(TemplateContentContributorContext context)
    {
        var templateName = context.TemplateDefinition.Name;

        //TODO: Try to find content from another source
        return null;
    }
}

推荐阅读