Logout und Logout Button auf allen Seiten anzeigen lassen

Hallo zusammen! Ich möchte das auf jeder Seite eine Login- und Logoutfunktion dem Kunden zur Verfügung gestellt wird. Leider weiss ich aber nicht wo ich das einstellen kann. Wäre Euch für Eure Hilfe sehr dankbar. Shopware Version 3.5.3 Liebe Grüße Billy

Hey billy, da musst du das Template bearbeiten. Logout z.B. so [{se name="AccountLogoutButton"}{/se}]({url controller='index'} "{s name='AccountLogoutButton'}{/s}") Am Besten schaust du dir mal die beiden Templates ajax_login.tpl und ajax_logout.tpl aus dem Ordner _default/frontend/account an. Dann sollte es dir klar werden, wie es funktioniet :wink:

Hallo ottscho! Danke für die rasche Info, habt aber leider nicht funktioniert. Das steht schon in der ajax_logout.tpl drinnen: [{se name="AccountLogoutButton"}{/se}]({url controller='index'} "{s name='AccountLogoutButton'}{/s}") Leider sieht der Kunde nach dem er sich über mein Konto angemeldet hat noch immer keine Logout Funktion, ausser er klickt wieder auf mein Konto, dort kann er sich dann ausloggen. Bitte um Hilfe Dankeschön Liebe Grüße Billy

okay. Bau das mal ein für den Logout: [Logout]({url controller='account' action='logout'}) und das für den Login: [Login]({url controller='account' action='logout'}) Das geht auf jeden Fall. Habe ich eben getestet. Und wenn du den Logout Link nur möchtest, wenn der User wirklich angemeldet ist, dann so verwenden: {if $sUserLoggedIn} [Logout]({url controller='account' action='logout'}) {/if} Oder so, dann hast du den Login Link, und wenn der User angemeldet ist den Logout Link: {if $sUserLoggedIn} [Logout]({url controller='account' action='logout'}) {/else}[Login]({url controller='account' action='logout'}){/if} Nun musst du die nur an der Stelle einbauen, wo du den Link gerne hättest;)

1 Like

Hallo ottscho! Dankeschön, aber ich glaube ich bin zu dumm! Das steht in der ajax_logout.tpl drinnen, wo muss ich das jetzt einfügen oder abändern: [code]{* Heading *}

{se name=‘AccountLogoutHeader’}{/se}

{* Close button *} {s name=‘LoginActionClose’}{/s}

{block name='frontend_account_ajax_logout_box'}

{se name='AccountLogoutText'}{/se}

{se name="AccountLogoutButton"}{/se}

{/block}

[/code] Das steht in der ajax\_login.tpl drinnen, wo muss ich das jetzt einfügen oder abändern: [code]{\* Heading \*}

{se name=‘LoginHeader’}{/se}

{* Close button *} {s name=‘LoginActionClose’}{/s}
{* Error messages *} {block name=‘frontend_account_ajax_login_error_messages’} {include file=“frontend/register/error_message.tpl” error_messages=$sErrorMessages} {/block}

<div class="new_customer">
	<h2>{se name="LoginLabelNew"}{/se}</h2>
	
	<form method="post" name="new_customer" class="new_customer_form" action="%7Burl%20controller='register'%7D">
	<p>
		{se name="LoginInfoNew"}{/se}
		
		<br>
		
		{if !$this-&gt;config('NoAccountDisable')}
			<input type="checkbox" class="chk_noaccount" name="skipLogin" value="1"> <strong>{se name="LoginLabelNoAccount"}Kein Kundenkonto erstellen{/se}</strong>
		{/if}
	</p>

	<input type="submit" class="button-right large left" value="{s name='LoginActionCreateAccount'}Weiter{/s}">
	
	</form>
	<div class="clear"> </div>
</div>

<form method="post" name="existing_customer" action="%7Burl%7D">
<div class="existing_customer">
	<h2>{se name="LoginLabelExisting"}{/se}</h2>
	<input type="hidden" name="accountmode" value="2">
	
	<p>
		{se name="LoginTextExisting"}{/se}
	</p>
	
	{block name='frontend_account_ajax_login_input_email'}
	<div>
		<label for="email">{se name="LoginLabelMail"}{/se}</label>
    	<input name="email" type="text" tabindex="1" value="{$sFormData.email|escape}" id="email" class="text {if $sErrorFlag.email}instyle_error{/if}">
    	<div class="clear"> </div>
	</div>
	{/block}
	
	{block name='frontend_account_ajax_login_input_password'}
	<div>
		<label for="ajax_login_password">{se name="LoginLabelPassword"}Ihr Password{/se}</label>
		<input name="password" type="password" tabindex="2" id="ajax_login_password" class="text password {if $sErrorFlag.password}instyle_error{/if}"><br>
		<a class="lostpassword" href="%7Burl%20action=password%7D" title="{s name='LoginLinkLostPassword'}{/s}">{se name='LoginLinkLostPassword'}{/se}</a>
		<div class="clear"> </div>
	</div>
	{/block}
	
	{block name='frontend_account_ajax_login_action_buttons'}
	<div class="last">
		<input type="submit" class="button-middle large bold" id="checkout_button" value="{s name='LoginActionNext'}Einloggen{/s}" name="Submit">
	</div>
	{/block}
	
</div>	
</form>
[/code] Dankeschön Liebe Grüße Michael

In der ajax…tpl musst du nichts machen. Die Frage ist jetzt, wo hättest du gerne die Buttons/Links. Wenn du z.B. dies im Headerbereich neben “Mein Konto” haben willst, musst du die checkout_actions.tpl bearbeiten. Hier erweiterst du den Block {block name="frontend\_index\_checkout\_actions\_account"} [{s name='IndexLinkAccount'}{/s}]({url controller='account'} "{s name='IndexLinkAccount'}{/s}"){/block} [code] {block name=“frontend_index_checkout_actions_account”}

{if $sUserLoggedIn} [Logout]({url controller=‘account’ action=‘logout’}) {/else}[Login]({url controller=‘account’ action=‘logout’}){/if}
[{s name=‘IndexLinkAccount’}{/s}]({url controller=‘account’} “{s name=‘IndexLinkAccount’}{/s}”){/block} [/code] Und in der CSS positionierst/formatierst du dann deinen Link.

2 Likes

Hallo ottscho! Danke für Deine immer sehr schnellen und guten Antworten. Leider kann ich in der CSS nichts anpassen, bin kein Programmierer. Somit muss ich ohne Login- und Logout Button im Shop auskommen. Trotzdem vielen Dank für Deine Hilfe. Liebe Grüße Michael P.S.: Soll mein erster Webshop werden!

Hab dir ne PM geschrieben…

[quote=„ottscho“]In der ajax…tpl musst du nichts machen. Die Frage ist jetzt, wo hättest du gerne die Buttons/Links. Wenn du z.B. dies im Headerbereich neben „Mein Konto“ haben willst, musst du die checkout_actions.tpl bearbeiten. Hier erweiterst du den Block {block name="frontend\_index\_checkout\_actions\_account"} [{s name='IndexLinkAccount'}{/s}]({url controller='account'} "{s name='IndexLinkAccount'}{/s}"){/block} [code] {block name=„frontend_index_checkout_actions_account“}

{if $sUserLoggedIn} [Logout]({url controller=‚account‘ action=‚logout‘}) {/else}[Login]({url controller=‚account‘ action=‚logout‘}){/if}
[{s name=‚IndexLinkAccount‘}{/s}]({url controller=‚account‘} „{s name=‚IndexLinkAccount‘}{/s}“){/block} [/code] Und in der CSS positionierst/formatierst du dann deinen Link.[/quote] Der Code in deinem überarbeiteten Block ist zwar nich 100% arbeitsfähig, aber ein guter Hinweiß - danke dafür :slight_smile:

Hi, ich habe das in der index/index.tpl und zwar direkt im Block unter Shoplogo eingefügt: [code] {if !$sUserLoggedIn}

[Login]({url controller=‚account‘} „{s name=‚IndexLinkAccount‘}{/s}“)
{else}
[Logout]({url controller=‚account‘ action=‚logout‘})
{/if} [/code] in Deiner css: #login\_button { width: 104px; left: 667px; top: 7px; position: absolute; } #logout\_button { width: 104px; left: 667px; top: 7px; position: absolute; } So ist es oben im Header und Du kannst es positionieren wie Du möchtest. Ein Bild für Login und eins für Logout anlegen! Ich habe bei mir das Login heller mit Pfeil nach rechts und Logout dunkler mit Pfeil nach links gemacht. So ist es direkt sichtbar wenn man eingeloggt ist! :wink: