Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:

Autor Thema: Fehlende Radiobox bei nur einer Zahlungsmethode  (Gelesen 1522 mal)

Offline kaisa

  • Schreiberling
  • ****
  • Beiträge: 360
    • Teile Beitrag
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

Offline Matt

  • Experte
  • *****
  • Beiträge: 4.241
    • Teile Beitrag
    • http://www.wibros.de/
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.

Offline kaisa

  • Schreiberling
  • ****
  • Beiträge: 360
    • Teile Beitrag
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.

Offline Matt

  • Experte
  • *****
  • Beiträge: 4.241
    • Teile Beitrag
    • http://www.wibros.de/
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.

Offline kaisa

  • Schreiberling
  • ****
  • Beiträge: 360
    • Teile Beitrag
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} .....

Offline kaisa

  • Schreiberling
  • ****
  • Beiträge: 360
    • Teile Beitrag
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) {

Offline ttsarche

  • Fördermitglied
  • *****
  • Beiträge: 68
    • Teile Beitrag
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 :-)


Teile per facebook Teile per linkedin Teile per twitter

 


             
anything