2011-11-28 64 views
3

我希望添加一些钩子以使用Snap在Web应用程序中预处理Heist模板。我天真的做法至今一直使用下面的代码在我的应用程序初始化:使用捕捉Web框架为Heist模板添加OnLoad钩子

app :: SnapletInit App App 
app = makeSnaplet "app" "The main web application" Nothing $ do 
    -- ... 
    h <- nestSnaplet "heist" heist $ heistInit "resources/templates" 
    -- ... 
    modifyHeistTS . addOnLoadHook $ myTemplateHook 

此代码当然不行,因为钩添加的的模板从“资源/模板”装

在加载初始模板之前,如何修改Heist模板状态以添加OnLoad钩子?

+0

heistInit'函数允许你想要什么,现在在github上。 – mightybyte

回答

2

优秀的问题。在设计图书馆时,看起来这是我的疏忽。我会考虑如何最好地支持这个并回复你。

如果您想要立即解决方法,请插入一些内容以将钩子添加到传递到loadTemplates here的模板状态。或者,您可以直接在Heist中修改emptyTemplateState。

更新:我added一个heistInit'功能,应该照顾这个问题。它将在下一个发行版中发布。在此之前,你可以从github得到它。

+0

在这种情况下,挂钩并不是关键任务,所以我会等待官方支持的解决方案。感谢您的努力和一个美好的图书馆! – dflemstr