繁体   English   中英

使用Snap Web Framework为Heist模板添加OnLoad挂钩

[英]Adding OnLoad hooks for Heist templates using the Snap Web Framework

我想添加一些钩子,用于使用Snap在Web应用程序中预处理Heist模板。 到目前为止,我天真的方法是在我的应用程序初始化程序中使用以下代码:

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挂钩?

好问题。 在设计库时,这似乎是我的疏忽。 我会考虑如何最好地支持这一点并回复你。

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

更新:我添加了一个heistInit'功能,应该解决这个问题。 它将在下一个hackage发布中。 在那之前,你可以从github获得它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM