Как получить путь к файлу при использовании метода включения 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 ответ

Существует два способа использования файловой системы:

  1. Если вы хотите установить его глобально, установите Template.FileSystem
  2. Если вы хотите установить его для каждого рендера, установите renderParameters.Registers["file_system"] в вашем Template.Render вызов. Это позволяет вам, например, создать отдельный экземпляр вашей пользовательской файловой системы для каждого пользователя.
Другие вопросы по тегам