Hallo, wenn jemand bei seiner Bestellung auswählt als Gast bestellen, so kann er während bzw. nach dem Bestellvorgang in den Bereich ‘mein Konto’ gelangen. Gibt es eine Möglichkeit dies zu verhindern? Das verwirrt die Kunden nämlich ziemlich, wenn sie auf einmal doch ein Kundenkonto haben! Grüße, Max
Das Thema wurde bereits mehrfach hier im Forum diskutiert und es wurde auch bereits in die Wunschliste (http://jira.shopware.de/) aufgenommen. Derzeit ist es standardmäßig -nicht- möglich. Du müsstest dir ein eigenes Plugin schreiben, welches die „Mein Konto“ Funktionalität ausblenden bzw. ausschaltet. Viele Grüße
Falls es noch jemanden interessieren sollte, ich habe es nun wie folgt gelöst: Edit: Ich habe noch versucht die zu modifizierenden Dateien (und Stellen in den Dateien) in einem von _emotion abgeleitetem Template mit anzugeben. Diese können aber je nach eigener Anpassung auch an anderen Stellen auftreten. (Angegebene Dateipfade relativ zum spezifischen Templateverzeichnis) Am Ende des Checkouts (…/frontend/checkout/finish.tpl) habe ich folgendes JS hinzugefügt, um den Kunden sofort wieder abzumelden: {if $sUserData.additional.user.accountmode == 1}<script type="text/javascript">
$.get("{url controller='account' action='logout'}");
</script>{/if}
Hier spielt es keine Rolle, wo das Skript ausgegeben wird. Solange es ausgegeben wird, wird es auch ausgeführt. Ebenso habe ich den Button für Mein Konto angepasst, indem ich folgendes hinzugefügt habe: (In der Datei: …/frontend/index/checkout_actions.tpl) im Block frontend_index_checkout_actions_account {if $sUserData.additional.user.accountmode == 1} {literal}<script type="text/javascript">
function konto() {
$.get("{/literal}{url controller='account' action='logout'}{literal}",{},function(e)
{
{/literal}
document.location = "{url controller='account'}";
{literal}
});
}
{/literal}
</script>[{s namespace='frontend/index/checkout\_actions' name='IndexLinkAccount'}{/s}](javascript:void(0); "{s namespace='frontend/index/checkout\_actions' name='IndexLinkAccount'}{/s}"){else}[{s namespace='frontend/index/checkout\_actions' name='IndexLinkAccount'}{/s}]({url controller='account'} "{s namespace='frontend/index/checkout\_actions' name='IndexLinkAccount'}{/s}"){/if}
Damit wird ein ‘angemeldeter’ Gast bei Klick auf Konto abgemeldet und kommt so zum Login. Die Letzte Änderung bestand darin, die Option zum anmelden via Gast bei der Registrierung und dem Ajax-Login auszublenden, falls keine Artikel im Warenkorb sind, denn dann leiten diese nach Abschluss der Registrierung auf die Account-Seite. So leiten diese nun direkt zum Warenkorb: Änderungen in der …/frontend/account/ajax_login.tpl: Ersetze folgenden Code [code] {if !{config name=NoAccountDisable}}
{se name=“LoginLabelNoAccount”}Kein Kundenkonto erstellen{/se}
{/if} [/code] durch {if !{config name=NoAccountDisable} && $sBasketQuantity \> 0}
<input type="checkbox" class="chk_noaccount" id="skipLogin" name="skipLogin" value="1"><label class="chklabel" for="skipLogin">{se name="LoginLabelNoAccount"}Kein Kundenkonto erstellen{/se}</label>
{/if}
Änderungen in der …/frontend/register/personal_fieldset.tpl im angegebenen Block [code] {block name=‘frontend_register_personal_fieldset_skip_login’} {if !$sEsd && !$form_data.sValidation && !{config name=NoAccountDisable} && $sBasketQuantity > 0}
{se name=‘RegisterLabelNoAccount’}{/se}
{/if} {/block} [/code] Wichtig sind hier jeweils die Zeilen mit $sBasketQuantity > 0
Hallo Ich habe noch eine Frage dazu, wo genau und in welchem Abschnitt hast du die Änderungen vorgenommen? Du hast das “Mein Konto” angepasst. Wo ist diese .tpl Datei und wo im Code hast du den Schnippsel hinzugefügt? Danke und Gruss Cyril [quote=“mwoelk”]Falls es noch jemanden interessieren sollte, ich habe es nun wie folgt gelöst: Am Ende des Checkouts (finish.tpl) habe ich folgendes JS hinzugefügt, um den Kunden sofort wieder abzumelden: {if $sUserData.additional.user.accountmode == 1}<script type="text/javascript">
$.get("{url controller='account' action='logout'}");
</script>{/if}
Ebenso habe ich den Button für Mein Konto angepasst, indem ich folgendes hinzugefügt habe: {if $sUserData.additional.user.accountmode == 1} {literal}<script type="text/javascript">
function konto() {
$.get("{/literal}{url controller='account' action='logout'}{literal}",{},function(e)
{
{/literal}
document.location = "{url controller='account'}";
{literal}
});
}
{/literal}
</script>[{s namespace='frontend/index/checkout\_actions' name='IndexLinkAccount'}{/s}](javascript:void(0); "{s namespace='frontend/index/checkout\_actions' name='IndexLinkAccount'}{/s}"){else}[{s namespace='frontend/index/checkout\_actions' name='IndexLinkAccount'}{/s}]({url controller='account'} "{s namespace='frontend/index/checkout\_actions' name='IndexLinkAccount'}{/s}"){/if}
Damit wird ein ‘angemeldeter’ Gast bei Klick auf Konto abgemeldet und kommt so zum Login. Die Letzte Änderung bestand darin, die Option zum anmelden via Gast bei der Registrierung und dem Ajax-Login auszublenden, falls keine Artikel im Warenkorb sind, denn dann leiten diese nach Abschluss der Registrierung auf die Account-Seite. So leiten diese nun direkt zum Warenkorb: Änderungen in der account->ajax_login.tpl: [code] {if !{config name=NoAccountDisable} && $sBasketQuantity > 0}
{se name=“LoginLabelNoAccount”}Kein Kundenkonto erstellen{/se}
{/if} [/code] Änderungen in der register->personal_fieldset.tpl [code] {block name=‘frontend_register_personal_fieldset_skip_login’} {if !$sEsd && !$form_data.sValidation && !{config name=NoAccountDisable} && $sBasketQuantity > 0}
{se name=‘RegisterLabelNoAccount’}{/se}
{/if} {/block} [/code] Wichtig sind hier jeweils die Zeilen mit $sBasketQuantity > 0[/quote]
[quote=„tradeby“]Hallo Ich habe noch eine Frage dazu, wo genau und in welchem Abschnitt hast du die Änderungen vorgenommen? Du hast das „Mein Konto“ angepasst. Wo ist diese .tpl Datei und wo im Code hast du den Schnippsel hinzugefügt? Danke und Gruss Cyril [/quote] Hallo, Ich habe meinen ursprünglichen Beitrag ergänzt. Hoffe es hilft dir weiter. Grüße, Max
Hallo Max Besten Dank. Leider muss ich 2x Mal auf “Mein Konto” klicken, damit ich auch wirklich abgemeldet werde…Hast du da ne Lösung? Benutze das Conexco Template… Gruss Cyril [quote=“mwoelk”] Ebenso habe ich den Button für Mein Konto angepasst, indem ich folgendes hinzugefügt habe: (In der Datei: …/frontend/index/checkout_actions.tpl) im Block frontend_index_checkout_actions_account {if $sUserData.additional.user.accountmode == 1} {literal}<script type="text/javascript">
function konto() {
$.get("{/literal}{url controller='account' action='logout'}{literal}",{},function(e)
{
{/literal}
document.location = "{url controller='account'}";
{literal}
});
}
{/literal}
</script>[{s namespace='frontend/index/checkout\_actions' name='IndexLinkAccount'}{/s}](javascript:void(0); "{s namespace='frontend/index/checkout\_actions' name='IndexLinkAccount'}{/s}"){else}[{s namespace='frontend/index/checkout\_actions' name='IndexLinkAccount'}{/s}]({url controller='account'} "{s namespace='frontend/index/checkout\_actions' name='IndexLinkAccount'}{/s}"){/if}
Damit wird ein ‘angemeldeter’ Gast bei Klick auf Konto abgemeldet und kommt so zum Login. [/quote]