Wenn du das Login in der Navbar nur für den Login nutzen willst, brauchst du nicht zwingend den kompletten Extbase Bootstrap dort einbauen. Es reicht, wenn du das Formular für den Login händisch nach baust und einbaust. Damit umgehst du das doppelte Versenden der E-Mails, da der Controller nur einmal aufgerufen wird und nicht zweimal (einmal in der Navigation und einmal auf der Seite selbst).
<form action="{f:uri.action(action: 'login', controller: 'Login', extensionName: 'Felogin', pluginName: 'Login', pageUid: '{settings.loginPage}')}" method="post">
<div>
<input type="hidden" name="__referrer[@extension]" value="Felogin">
<input type="hidden" name="__referrer[@controller]" value="Login">
<input type="hidden" name="__referrer[@action]" value="login">
<input type="hidden" name="__referrer[arguments]" value="YTowOnt919e344a667bb726598a47419cf6d70e2ec9074a4">
<input type="hidden" name="__referrer[@request]" value="{"@extension":"Felogin","@controller":"Login","@action":"login"}2efeb5c953ca043dc73631c0b1a22c89f0144488">
<input type="hidden" name="__trustedProperties" value="{"user":1,"pass":1,"submit":1,"logintype":1,"pid":1}fdd5f2bb3e9652ccc78ca8a9cf9a6c8c0e3a758e">
</div>
<fieldset class="login-form">
<div class="form-group">
<label for="form-label-username">
Benutzername:
</label>
<input autocomplete="off" id="form-label-username" type="text" name="user" required="required">
</div>
<div class="form-group">
<label for="form-label-username-password">
Passwort:
</label>
<input required="required" autocomplete="current-password" id="form-label-username-password" type="password" name="pass" value="">
</div>
<div class="form-group form-center">
<input class="btn btn-form" type="submit" value="Anmelden" name="submit">
</div>
<div class="felogin-hidden">
<input type="hidden" name="logintype" value="login">
</div>
</fieldset>
</form>
Plus: Wenn dein User bereits eingeloggt ist, kannst du übrigens einen Logout einbauen, indem du einfach einen ?logintype=logout
an die Seite an hängst. Das funktioniert aus dem Core heruas und ohne die fe_login, welche nur ein Wrapper für die Templates und das Plugin iselbst ist. Der Login-Prozess ist komplett Core-Sache.
Für den Recovery-Link in der Navigation: Bau den mit dem entsprechenden ViewHelper <f:link.action>
, damit alle Extbase Parameter über den ViewHelper korrekt aufgelöst werden können.
Ein Beispiel (ungetestet):
<f:link.action
action="recovery"
controller="PasswordRecovery"
extensionName="Felogin"
pluginName="Login"
pageUid="5"
additionalParams="{some: 'params'}"
>Passwort vergessen</f:link.action>
Damit sollte es dann funktionieren. Was willst du denn als additional parametes übergeben?
EDIT: Schreibfehler im ViewHelper Closing Tag korrigiert