Kein Kundenkonto anlegen - Haken automatisch setzen

Hallo Zusammen,

ich würde gerne den Haken bei der  Checkbox „Kein Kundenkonto anlegen“ automatisch setzen, so dass er weggeklickt werden muss, wenn man ein Konto anlegen möchte. Ich habe auch schon den dazugehörigen Code im ensprechenden Template gefunden (siehe unten) und auch schon den value auf Null gesetzt. Es ändert sich aber nichts. Über einen Rat bzw. Hinweis wäre ich sehr dankbar :).

 

    {* Skip login *}
                {if !$update}
                    {block name=‚frontend_register_personal_fieldset_skip_login‘}
                        {if ($showNoAccount || $form_data.accountmode) && !$sEsd && !$form_data.sValidation && !{config name=NoAccountDisable}}
                           

                                                                       value=„1“
                                       id=„register_personal_skipLogin“
                                       name=„register[personal][accountmode]“
                                       class=„register–checkbox chkbox“ {if $form_data.accountmode || $accountmode}checked=„checked“ {/if}/>

                                {s name=‚RegisterLabelNoAccount‘}{/s}
                           

                        {else}
                                                               value=„0“
                                   id=„register_personal_skipLogin“
                                   name=„register[personal][accountmode]“
                                   class=„register–checkbox chkbox“ {if $form_data.accountmode || $accountmode}checked=„checked“ {/if}/>
                        {/if}
                    {/block}

Du musst die {if}-Bedingung anpassen (z.B. um eigene {config name=DeineConfigzumSteuern} Bedingung) oder einfach entfernen die das checked=„checked“ steuert.

value solltest du nicht verändern da das „nur“ der Wert ist der an den Server gesendet wird wenn das Formular abgeschickt wird. Wenn dieser einen unerwarteten Wert hat könnte auch das Ergebnis unerwartet/fehlerhaft sein.

Danke stormerMike für die schnelle Antwort. Ich stehe allerdings - glaube ich gerade auf dem Schlauch. Ich finde keine umkehrende Bedingung zu „noaccountdisable“.

@Plattfisch schrieb:

Danke stormerMike für die schnelle Antwort. Ich stehe allerdings - glaube ich gerade auf dem Schlauch. Ich finde keine umkehrende Bedingung zu „noaccountdisable“.

NoAccountDisable sollte aber sowieso schon auf Nein in der Konfiguration stehen und demnach sollte immer der {if}-Teil relevant sein.

Ich meinte eigentlich auch die Bedingung im {if}-Block für das checked anzupassen/entfernen also so z.B.:

{if ($showNoAccount || $form_data.accountmode) && !$sEsd && !$form_data.sValidation && !{config name=NoAccountDisable}}
  value="1"
  id="register_personal_skipLogin"
  name="register[personal][accountmode]"
  {* Hier das IF entfernen *}
  class="register--checkbox chkbox" checked="checked" {/if}/>
  {s name='RegisterLabelNoAccount'}{/s}
{else}
  value="0"
  id="register_personal_skipLogin"
  name="register[personal][accountmode]"
  class="register--checkbox chkbox" {if $form_data.accountmode || $accountmode}checked="checked"{/if}/>
{/if}

 

Okay, vorab noch die Info, dass NoAccountDisable in der Konfiguration bereits auf Nein stand. Ich habe den Code entsprechend geändert (das IF entfernt), bekomme aber immer diese Fehlermeldung: 

Wir wurden bereits über das Problem informiert und arbeiten an einer Lösung, bitte versuchen Sie es in Kürze erneut.

Die Seite fällt dann auch komplett aus.

Vielleicht habe ich mich auch von Anfang an falsch ausgedrückt. Deshalb mal zum besseren Verständnis ein Screenshot, von dem was ich meine. Die markierte Checkbox soll standardmäßig gehakt sein. Hat vielleicht sonst noch jemand aus dem Forum eine Idee? Vielen lieben Dank vorab  .

 

Ich würde das Thema gerne noch einmal pushen, da ich leider noch keine Lösung gefunden habe. Vielleicht wäre es ja auch möglich bzw. einfacher die Funktion umzukehren. Also, dass dort steht “Ein Kundenkonto anlegen” (das geht ja schnell über den Textbaustein) und die Checkbox leer lassen. Dafür müsste allerdings standardmäßig eingestellt werden, dass man kein Kundenkonto anlegt und das erst durch setzen des Hakens geschieht. Wäre das möglich?

 

Vielen Dank vorab für Eure Antworten bzw. Ideen

Die Anforderung hatte ich schon richtig verstanden nur du glaube ich nicht meine Lösung.

Folgende Datei (gerade selber so ausprobiert bei mir) in deinem Theme löst dein Problem Wink

/themes/Frontend/YourThemeName/frontend/register/personal_fieldset.tpl

{extends file='parent:frontend/register/personal_fieldset.tpl'}

{block name='frontend_register_personal_fieldset_skip_login'}
    {if ($showNoAccount || $form_data.accountmode) && !$sEsd && !$form_data.sValidation && !{config name=NoAccountDisable}}
        {* Das if um das checked-Attribut wurde entfernt *}
        
            

            {s name='RegisterLabelNoAccount'}{/s}
        
    {else}
        
    {/if}
{/block}

 

1 „Gefällt mir“

Klasse, jetzt funktioniert es. Vielen Dank. Denkst Du es wäre auch möglich, das Ganze auch so zu lösen:

Vielleicht wäre es ja auch möglich bzw. einfacher die Funktion umzukehren. Also, dass dort steht „Ein Kundenkonto anlegen“ (das geht ja schnell über den Textbaustein) und die Checkbox leer lassen. Dafür müsste allerdings standardmäßig eingestellt werden, dass man kein Kundenkonto anlegt und das erst durch setzen des Hakens geschieht.

 

@Plattfisch schrieb:

Denkst Du es wäre auch möglich, das Ganze auch so zu lösen:

Vielleicht wäre es ja auch möglich bzw. einfacher die Funktion umzukehren. Also, dass dort steht „Ein Kundenkonto anlegen“ (das geht ja schnell über den Textbaustein) und die Checkbox leer lassen. Dafür müsste allerdings standardmäßig eingestellt werden, dass man kein Kundenkonto anlegt und das erst durch setzen des Hakens geschieht.

Möglich vermutlich schon aber einfacher aus meiner Sicht definitiv nicht.
Man muss dazu was ich auf die schnelle gesehen habe das swRegister JQuery Plugin ziemlich verbiegen. Sollte gehen aber man muss vermutlich einige Teile des Plugins komplett neu schreiben da das nicht vorgesehen ist die Funktionalität umzukehren. Das mit den Textbaustein/Template bleibt der einfache Teil der Übung.

Wenn du den Weg gehen willst hier der Startpunkt: https://developers.shopware.com/designers-guide/modify-jquery-plugins/

Okay, danke für Deine Einschätzung. Weißt Du wie es in Zukunft bei Shopware mit einer offiziellen bzw. besser im Frontend strukturierten Gastbestellmöglichkeit aussieht?

@Plattfisch schrieb:

Okay, danke für Deine Einschätzung. Weißt Du wie es in Zukunft bei Shopware mit einer offiziellen bzw. besser im Frontend strukturierten Gastbestellmöglichkeit aussieht?

Nein, leider keine Ahnung zu zukünftigen Features/Verbesserungen.

Okay, dann warten wir mal ab, was das nächste Jahr so mit sich bringt. Frohe Weihnachten!