Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Fehlende Radiobox bei nur einer Zahlungsmethode

    kaisa

    • Schreiberling
    • Beiträge: 366
    Fehlende Radiobox bei nur einer Zahlungsmethode
    am: 07. Januar 2015, 08:57:22
    checkout_payment

    Es scheint, dass keine Radiobox angezeigt wird, wenn nur eine Zahlungsmethode verfügbar ist.
    Das sieht verwirrend aus.

    Gerade weil dem Kunden gesagt wird, eine Zahlungsart auszuwählen, verwirrt das wohl etwas. Nichts scheint ausgewählt und darunter ist noch noch eine zweite Zeile mit anderer Farbgebung, als wenn sie dazugehört.

    Aus Shop-Sicht alles eindeutig, aber für den Kunden vielleicht nicht. Den wollen wir im Checkout doch nicht unnötig irritieren.

    Was könnte man da machen? Ein Radiobutton wäre wohl das einfachste, denke ich.

    Linkback: https://www.modified-shop.org/forum/index.php?topic=31914.0

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Fehlende Radiobox bei nur einer Zahlungsmethode
    Antwort #1 am: 07. Januar 2015, 10:22:14
    Ich würde einfach den Text entfernen/ändern bei nur einer Zahlungsmethode.

    kaisa

    • Schreiberling
    • Beiträge: 366
    Re: Fehlende Radiobox bei nur einer Zahlungsmethode
    Antwort #2 am: 07. Januar 2015, 10:31:18
    Die Zahlungsmethoden sind landesabhängig. So bekommen EU-Kunden weitere Zahlungsmethoden angeboten. "Überweisung" außerhalb der EU macht keinen Sinn, das sind alles tote Bestellungen.

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Fehlende Radiobox bei nur einer Zahlungsmethode
    Antwort #3 am: 07. Januar 2015, 11:14:43
    Ja, und? Du kannst doch drauf prüfen wie groß das Array mit den Zahlungsarten ist und abhängig davon unterschiedliche Texte einblenden.

    kaisa

    • Schreiberling
    • Beiträge: 366
    Re: Fehlende Radiobox bei nur einer Zahlungsmethode
    Antwort #4 am: 07. Januar 2015, 16:29:33
    Hmm. Aber es ist im Internet ungewöhnlich, dass man so eine Box anwählen muss, wo es kein Radio-Button oder Checkbox gibt. Wenn ein einziger Beitrag standardmäßig aktiviert wäre, wäre das schon hilfreich. Das könnte in "classes/payment.php" passieren, denke ich.

    Der Text scheint mit smarty zu gehen, um ihn situationsabhängig anzuzeigen. Meine Snippets und google helfen etwas. Statt dem Text-Platzhalter im Template müsste dann wohl sowas rein wie:

    Code: PHP  [Auswählen]
    {if $namenvonarray|@count==1}
         {if $smarty.session.language_code == 'de'}
            deutsch
            {elseif}
            englisch
         {/if}
     {elseif}
     normaler text
    {/if}
     

    In classes/payment.php finde ich sowas wie:
    Code: Javascript  [Auswählen]
            $js = '<script type="text/javascript"><!-- ' . "\n" .
                  '
    function check_form() {' . "\n" .
                  '
     var error = 0;' . "\n" .
                  '
     var error_message = unescape("' . xtc_js_lang(JS_ERROR) . '");' . "\n" .
                  '
     var payment_value = null;' . "\n" .
                  '
     if (document.getElementById("checkout_payment").payment.length) {' . "\n" .
                  '
       for (var i=0; i<document.getElementById("checkout_payment").payment.length; i++) {' . "\n" .
                  '
         if (document.getElementById("checkout_payment").payment[i].checked) {' . "\n" .
                  '
           payment_value = document.getElementById("checkout_payment").payment[i].value;' . "\n" .
                  '
         }' . "\n" .
                  '
       }' . "\n" .
                  '
     } else if (document.getElementById("checkout_payment").payment.checked) {' . "\n" .
                  '
       payment_value = document.getElementById("checkout_payment").payment.value;' . "\n" .
                  '
     } else if (document.getElementById("checkout_payment").payment.value) {' . "\n" .
                  '
       payment_value = document.getElementById("checkout_payment").payment.value;' . "\n" .
                  '
     }' . "\n\n";

    Das scheint für die Liste zuständig zu sein und welcher Eintrag ausgewählt ist. Umpff.

    Und bezüglich des Payment-Arrays:
    Code: PHP  [Auswählen]
         $selection_array = array();
          if (is_array($this->modules)) {
            reset($this->modules);
            while (list(, $value) = each($this->modules)) {
              $class = substr($value, 0, strrpos($value, '.'));
              if (isset($GLOBALS[$class]) && $GLOBALS[$class]->enabled) {
                $selection = $GLOBALS[$class]->selection();
                if (is_array($selection)) {
                  $selection_array[] = $selection;

    $this->modules oder $selection müsste das Array sein, dass ich dann in Smarty abfragen müsste.
    Aber gelten die Variablen dann auch im Template?
    {if $this->modules|@count==1} .....

    kaisa

    • Schreiberling
    • Beiträge: 366
    Re: Fehlende Radiobox bei nur einer Zahlungsmethode
    Antwort #5 am: 07. Januar 2015, 19:47:53
    Beim Wühlen gefunden, wer eine Radiobox auch bei nur einer Zahlungsart habe möchte:

    checkout_payment.php Zeile 168:
    Code: PHP  [Auswählen]
        if (sizeof($selection) > 1) {
          $selection[$i]['selection'] = xtc_draw_radio_field('payment', $selection[$i]['id'], ($selection[$i]['checked']), 'id="'.($i+1).'"'); //web28 - 2010-11-23 - FIX pre-selection the first payment option

    Ändern in:
    Code: PHP  [Auswählen]
        if (sizeof($selection) > 0) {

    ttsarche

    • Fördermitglied
    • Beiträge: 95
    Re: Fehlende Radiobox bei nur einer Zahlungsmethode
    Antwort #6 am: 08. April 2015, 13:41:42
    SUPER, danke für diese selbergegebene Antwort, hatte ich auch im shop und denke nun ist Schluss mit der evtl. Verwirrung. Manchesmal lohnt sich der Besuch hier.
    Mein Ultmativer TIP: Landingpagemanager von T10 :-)
    3 Antworten
    3241 Aufrufe
    18. März 2013, 16:33:12 von adiebler
    0 Antworten
    1456 Aufrufe
    17. März 2013, 21:52:06 von Tripolis
    7 Antworten
    3873 Aufrufe
    23. Mai 2014, 16:47:47 von ShopNix
               
    anything