2013-09-11 7 views
2

Я пытаюсь использовать плагин аутентификации для Yesod: yesod-auth-account. Он предоставляет форму по умолчанию, которую я использую, и я надеюсь добавить к ней некоторые стили бутстрапа/шаблона. Если я использую пользовательскую форму, мне придется переопределить множество методов.Добавить стили в формы Yesod

Это особенно актуально, так как я хотел бы повторно использовать форму в разных контекстах отображения (в навигационной панели рядом с формой регистрации и т. Д.).

Любые идеи?

ответ

4

Вы можете обернуть по умолчанию электронной почты 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] 

Надеюсь, что это поможет.

Смежные вопросы