2017-06-05 41 views
0

我是創建包含方法,如下面的代碼。如何在使用DotLiquid包含方法時獲取文件路徑?

的products.liquid像下面

{% 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); 
    } 
} 

但對於不同的用戶來說,他們從文件加載不同的「產品列表項」 。 如何設置獲取並設置「themesLocalPath」值?

+0

它被修復了。有兩種使用文件系統的方法: 1.如果要全局設置它,請設置Template.FileSystem。 2.如果要設置每個渲染,請在您的Template.Render調用中設置renderParameters.Registers [「file_system」]。例如,允許您爲每個用戶創建自定義文件系統的差異實例。 –

回答

0

有兩種方式使用文件系統:

  1. 如果你想全局設置,設置Template.FileSystem
  2. 如果你想設置每個渲染,在你的Template.Render調用設置renderParameters.Registers["file_system"]。例如,允許您爲每個用戶創建自定義文件系統的差異實例。
相關問題