我希望在使用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
这段代码当然不起作用,因为在从“资源/模板”加载模板之后添加了钩子
为了添加 OnLoad 钩子,如何在加载初始模板之前修改 Heist 模板状态?