2011-11-28 67 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