在一位超级好人[1]的帮助下,一个小小的顿悟发生了。对于希望做同样事情的未来谷歌人,我将简要解释一下:
我只是把它放在我需要它的处理程序中,你只需要导入以下内容:
import Yesod.Default.Config (appExtra)
然后将 adminLayout 定义为
adminLayout :: Widget -> Handler Html
adminLayout widget = do
master <- getYesod
mmsg <- getMessage
pc <- widgetToPageContent $ do
$(combineStylesheets 'StaticR
[ css_normalize_css
, css_bootstrap_css
])
$(combineScripts 'StaticR
[ js_jquery_js
, js_bootstrap_min_js
])
$(widgetFile "admin-layout")
giveUrlRenderer $(hamletFile "templates/admin-layout-wrapper.hamlet")
那么您可以像使用 defaultLayout 一样使用它。希望这会有所帮助,因为我很长一段时间都在盯着自己的错误视而不见-.-' ...
[1] https://groups.google.com/forum/?fromgroups=#!topic/yesodweb/9KpfYBJBwJE