Как получить путь к файлу при использовании метода включения DotLiquid?
Я создал метод Include, как показано ниже.
продукты. жидкость, как показано ниже
{% include product-list-item %}
Метод включения, как показано ниже:
public class IncludeFileSystem : IFileSystem
{
public string ReadTemplateFile(Context context, string templateName)
{
string themesLocalPath = "";
var templatePath = LiquidTemplateHelper.ResolveTemplatePath(templateName, themesLocalPath);
return LiquidTemplateHelper.ReadTemplateByPath(templatePath);
}
}
но для разных пользователей они загружают разные "product-list-item" из файла. Как настроить получение и установить значения "themesLocalPath"?
1 ответ
Существует два способа использования файловой системы:
- Если вы хотите установить его глобально, установите
Template.FileSystem
- Если вы хотите установить его для каждого рендера, установите
renderParameters.Registers["file_system"]
в вашемTemplate.Render
вызов. Это позволяет вам, например, создать отдельный экземпляр вашей пользовательской файловой системы для каждого пользователя.