HeistテンプレートをWebアプリケーションにSnapを使用して前処理するフックを追加したいとします。私の単純なアプローチは、これまで自分のアプリケーションの初期化に次のコードを使用することであった:Snap Web Frameworkを使用して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
このコードはもちろんフックが追加されているので後のテンプレートは、「リソース/テンプレート」からロードされ、機能しません。
OnLoadフックを追加するために、最初のテンプレートがロードされる前にHeistテンプレートの状態を変更するにはどうすればよいですか?
「heistInit」関数は、あなたが望むものを許可し、今githubに載っています。 – mightybyte