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: Zahlungsarten per Dropdown

    martinr

    • Mitglied
    • Beiträge: 107
    Zahlungsarten per Dropdown
    am: 28. Februar 2011, 10:26:11
    Hallo,

    der Übersichtlichkeit halber würde ich gerne die Zahlungsarten ausklappen lassen. Heißt, Zahlungsart steht da und die Beschreibung (oder andere Felder wie $Method...) wird erst mit Klick auf den Radiobutton ausgeklappt, so wie es Magento glaub ich von Haus aus kann.

    Ich hätte da einen Ansatz, nur, wie bringe ich das XTC bei? Hat da jemand vielleicht einen Lösungsansatz?

    Code: XML  [Auswählen]
    <head>
    <script language="JavaScript" type="text/javascript">
    <!--
    function einblenden(div) {
    with(document.getElementById(div).style){
    if(display=="hidden"){
    display="inline";
    }
    else{
    display="block";
    }
    }
    }
    //-->
    </script>
    <script language="JavaScript" type="text/javascript">
    <!--
    function ausblenden(div) {
    with(document.getElementById(div).style){
    if(display=="none"){
    display="none";
    }
    else{
    display="none";
    }
    }
    }
    //-->
    </script>

    </head>

    <body>

    <div id="cont" span class="normal">
    <form>
    <INPUT onClick="einblenden('1'); ausblenden('2')" TYPE="radio" NAME="DVD">
    <INPUT onClick="einblenden('2'); ausblenden('1')" TYPE="radio" NAME="DVD">
    </form>
    <div id="1" style="display:none;">
    test1
    </div>
    <div id="2" style="display:none;">
    test2
    </div>
    </div>

    </body>
    Danke und viele Grüße

    Martin



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

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Zahlungsarten per Dropdown
    Antwort #1 am: 28. Februar 2011, 10:44:26
    Hallo Martin,

    warum nimmst du dafür nicht die "Accordion" Funktion mittels Jquery? Die ist nämlich in der Version 1.05 schon enthalten.

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Zahlungsarten per Dropdown
    Antwort #2 am: 28. Februar 2011, 15:40:20
    das sieht dann in etwa so aus:

      [ Für Gäste sind keine Dateianhänge sichtbar ]

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Zahlungsarten per Dropdown
    Antwort #3 am: 28. Februar 2011, 17:12:49
    Sieht schick aus! :o

    Grüße

    Torsten

    TF101

    • Fördermitglied
    • Beiträge: 165
    • Geschlecht:
    Zahlungsarten per Dropdown
    Antwort #4 am: 28. Februar 2011, 17:39:13
    Da kann ich mich nur anschließen!

    Platzsparend und sehr schön in der Optik! Mein Kompliment!

    Gruß
    Tom

    martinr

    • Mitglied
    • Beiträge: 107
    Zahlungsarten per Dropdown
    Antwort #5 am: 28. Februar 2011, 21:24:22
    das hört sich ja super an, danke für die antworten. manchmal sieht man den wald vor lauter bäumen nicht, hab ewig überall nach was passendem gesucht weil ich ja nichts schreiben konnte (wegen wartung). ;-)

    nun trotzdem noch eine frage, im anwenderhandbuch konnte ich nichts finden. wie aktiviere ich das accordion jquery (also jetzt speziell bei den zahlungsarten)?

    danke und viele grüße

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Zahlungsarten per Dropdown
    Antwort #6 am: 28. Februar 2011, 21:41:38
    Das kannst du (noch) nicht im Backend aktivieren. Da musst du selber ran. :-)

    hildebrandf

    • Neu im Forum
    • Beiträge: 13
    Zahlungsarten per Dropdown
    Antwort #7 am: 02. März 2011, 13:32:25
    gibt es denn da evtl. eine kleine hilfestellung für newbee´s? :mrgreen:

    Ralf2209

    • Neu im Forum
    • Beiträge: 26
    Zahlungsarten per Dropdown
    Antwort #8 am: 10. März 2011, 04:33:07
    Da die Darstellung bei vielen Zahlungsmöglichkeiten doch recht unübersichtlich wird, bin ich im Moment auch dabei das wie oben zu ändern.

    Ansatz habe ich schon. Aber hier erst mal eine Beispieldatei, so wie es werden soll:

    Code: PHP  [Auswählen]
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>

    </head>

    <body>

          <script type="text/javascript">
          $(document).ready(function() {
            $("div").hide();
          });

          $(document).ready(function() {
            $("[name=payment]").each(function(i) {
              $(this).change(function(){
                divId = $(this).val();
                $("div").hide();
                $("#"+divId).show('fast');
              });
            });
          });
          </script>

          <label><input type="radio" name="payment" value="sofortueberweisung" />Show block 1</label><br />
              <div id="sofortueberweisung">This is block 1</div>
          <label><input type="radio" name="payment" value="paypal" />Show block 2</label><br />
              <div id="paypal">This is block 2</div>
          <label><input type="radio" name="payment" value="bank_transfer" />Show block 3</label><br />
          <div id="bank_transfer">This is block 3</div>

    </body>

    </html>
     
    Was ich bisher gemacht habe, ist die Datei checkout_payment_block.html im Template geändert. Die Beschreibung der Zahlungsvarianten hat eine DIV ID bekommen:

    Code: PHP  [Auswählen]
      <div id="{$module_data.module}">
      <tr>
        <td> </td>
        <td colspan="2" width="100%"><strong>{$module_data.description}</strong></td>
      </tr>
      </div>
     
    Anschließend habe ich versucht das Javascript mit literal im Template einzubinden. Das ist leider fehlgeschlagen. Auch als externe Datei in gernal.js.php hat es nicht geklappt. Ich bekam nur eine weiße Seite zu sehen.

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Zahlungsarten per Dropdown
    Antwort #9 am: 10. März 2011, 06:52:33
    Ich verwende dafür das jQuery UI Accordion - hat alles, was man dazu braucht, am Start.

    Gruß Gerhard

    Ralf2209

    • Neu im Forum
    • Beiträge: 26
    Zahlungsarten per Dropdown
    Antwort #10 am: 11. März 2011, 06:07:49
    Ok, hab's hinbekommen. Danke für den Hinweis auf jQuery UI Accordion.

    Und so geht's:
    1. jQuery UI Accordion donwloaden: http://jqueryui.com/download
    Ich habe nur Core, Widget und Accordion ausgewählt, keine Theme

    2. Die Datei jquery-ui-1.8.10.custom.min.js in den Javascript Ordner in Templates kopieren

    3. Änderung an der Datei general.js.php im Template / Javascript Ordner:

    Code: PHP  [Auswählen]
    <?php
    if (strstr($PHP_SELF, FILENAME_CHECKOUT_PAYMENT )) {
    ?>
    <script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/jquery-ui-1.8.10.custom.min.js" type="text/javascript"></script>
    <script type="text/javascript">
            //$(document).ready(function() {
            //      $("#accordion").accordion();
            //});
             var setChecked = function(oThis) {
        setTimeout(function(){
          $(oThis).attr("checked","checked");
         },10);
      };
      $(function() {
        $("#accordion").accordion({
          collapsible: false ,
          change: function(event, ui) {
            setChecked ($("input",ui.newHeader)); }
        });
        //$("#accordion h3 input").css("margin-left","50px");
        $("#accordion h3 input").eq(0).attr("checked","checked");
      });
    </script>
    <?php
    }
    ?>
     
    4. Die Datei checkout_payment_block.html im Module Ordner im Template:

    Code: PHP  [Auswählen]
    <div id="accordion">

    {foreach name=aussen item=module_data from=$module_content}

    <h3><a href="#">{$module_data.selection} {$module_data.module} {$module_data.module_cost}</a></h3>

      {if $module_data.description!=''}
      <div id="{$module_data.module}">
            {$module_data.description}<br />
      </div>
      {/if}
      {if $module_data.error!=''}
      <div>
        {$module_data.error}
      </div>
      {elseif $module_data.fields}
      <div>
                    <table border="0" cellspacing="0" cellpadding="0">
                    {foreach name=aussen item=method_data from=$module_data.fields}
                            <tr>
                                    <td>{$method_data.title}</td>
                                    <td> </td>
                                    <td>{$method_data.field}</td>
                                    <td> </td>
                             </tr>
                    {/foreach}
                    </table>
      </div>
      {/if}
    {/foreach}
    </div>
     

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Zahlungsarten per Dropdown
    Antwort #11 am: 11. März 2011, 12:03:02
    Hast du einen Screenshot davon oder einen Link zum Shop? :)

    Grüße

    Torsten

    Ralf2209

    • Neu im Forum
    • Beiträge: 26
    Zahlungsarten per Dropdown
    Antwort #12 am: 11. März 2011, 13:34:26
    Ja, hier ein Screenshot:

      [ Für Gäste sind keine Dateianhänge sichtbar ]

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Zahlungsarten per Dropdown
    Antwort #13 am: 11. März 2011, 14:33:36
    Dankeschön, sieht ja auch ganz hübsch aus. Nicht so schick wie die Lösung von Gerhard, aber auch gut. ;-)

    Grüße

    Torsten

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Zahlungsarten per Dropdown
    Antwort #14 am: 11. März 2011, 15:07:03
    Ich habe das Ganze auch noch für die Versandarten und Adressbuch gemacht.

    Gruß Gerhard

    0 Antworten
    2562 Aufrufe
    23. Mai 2011, 11:52:50 von Thomas
    3 Antworten
    2555 Aufrufe
    05. September 2013, 16:17:06 von DokuMan
    5 Antworten
    3030 Aufrufe
    12. April 2010, 09:44:20 von Tomcraft
    7 Antworten
    4508 Aufrufe
    11. Mai 2012, 22:42:42 von hedon02