【问题标题】:Add styles to Yesod forms向 Yesod 表单添加样式
【发布时间】:2013-09-15 22:37:35
【问题描述】:
我正在尝试为 Yesod 使用身份验证插件:yesod-auth-account。它提供了一个默认表单来使用,我希望向它添加一些引导程序/模板特定的样式。如果我使用自定义表单,我将不得不重写很多方法。
这尤其紧迫,因为我想在不同的显示上下文中重用表单(在导航栏中,在注册表单旁边等)。
有什么想法吗?
【问题讨论】:
标签:
forms
authentication
twitter-bootstrap
haskell
yesod
【解决方案1】:
您可以包装默认电子邮件AuthPlugin:
authEmailCustom :: YesodAuthEmail m => AuthPlugin m
authEmailCustom =
AuthPlugin "email" (apDispatch authEmail) $ \tm ->
[whamlet|
<form method="post" action="@{tm loginR}">
<input type="email" name="email">
<input type="password" name="password">
<input type="submit" value="submit">
<a href="@{tm registerR}">I don't have an account
|]
只需替换您的样式表。然后用它代替默认的:
instance YesodAuth App where
...
authPlugins _ = [authEmailCustom]
希望这会有所帮助。