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: Verbesserungsvorschlag: Bestellprozess optimieren

    bige

    • Mitglied
    • Beiträge: 181
    Verbesserungsvorschlag: Bestellprozess optimieren
    Antwort #150 am: 07. April 2011, 18:12:45
    Hallo,

    ja genau.
    Da kommt nix mehr.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Verbesserungsvorschlag: Bestellprozess optimieren
    Antwort #151 am: 07. April 2011, 23:17:47
    Soweit ich weiss, lesen die hier auch mit, daher würde ich einfach mal noch ein wenig abwarten. Ich kann mir nicht vorstellen, dass man sich da einfach nicht mehr meldet. ;-)

    Grüße

    Torsten

    terrenal

    • Neu im Forum
    • Beiträge: 13
    Verbesserungsvorschlag: Bestellprozess optimieren
    Antwort #152 am: 21. April 2011, 13:16:28
    Ich stell mal meinen Optimierungsvorschlag hier vor.
    Vorüberlegung: ich  wollte ich die Stufen beibehalten weil kurze Seiten auch was haben aber den Ablauf transparenter machen
    gleichzeitig finde ich den Gedanken die Boxen im checkout auszublenden ja ok - aber die volle Breite ist mit den resultierenden Zeilenlängen einfach zu viel um übersichtlich zu sein.

    ==> Schritt 1: für die checkoutnavi eine neue Box erstellen (erst mal leer) die dann anstelle der anderen Inhalte beim Warenkorb und im checkout statt der anderen eingebunden wird:

    Code: PHP  [Auswählen]
      {if (strstr ($smarty.server.PHP_SELF, 'checkout')) || (strstr ($smarty.server.PHP_SELF, 'shopping_cart'))}
        <div id="linkespalte">
        {$box_CHECKOUTNAVI}
        </div>
      {else}
        <div id="linkespalte">
         [sonst vorhandene Inhalte der linken Spalte]
        </div>
      {/if}

    Die Box sieht dann am Ende so aus (könnte auch grafisch noch mit Pfeilen betont werden)

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

    zuerst mal war das die jetzt vorhandene checkoutnavi - nur gestapelt statt nebeneinander
    dazu hier der Warenkorb
    wichtig fand ich aber dass die Anmeldung/Kundendaten mit in den Ablauf kommen wenn derjenige noch nicht eingeloggt ist mit einem account - wenn bereits eingeloggt wird der Punkt nicht gezeigt - deshalb jetzt eine selbstnummerierende ol statt der ul.
    Bisher ist man ja völlig aus dem Bestellablauf raus wenn man an dieser Stelle sich erst anmeldet.
    Nach der Anmeldung finde ich allerdings den redirect in den Warenkorb ganz ok wenn man schon einen account hatte - könnte ja sein dass dort noch Sachen vom letzten (abgebrochenen) Einkauf liegen die man löschen will.

    mit den Kundendateneingaben habe ich aber noch Bauchschmerzen
    im Moment ist es so, dass ich die entsprechenden Dateien einfach dupliziert habe und einen neuen Dateinamen habe der aus der checkout_shipping  aufgerufen wird

    Code: PHP  [Auswählen]
    if (ACCOUNT_OPTIONS == 'guest') {
                    xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_CREATE_GUEST_ACCOUNT, '', 'SSL'));
            } else {
                    xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_LOGIN, '', 'SSL'));
            }
    damit habe ich aber mindestens drei Dateien die doppelt angelegt sind - elegant finde ich das nicht
    aber da ich eigentlich gar nicht programmieren kann hab ich grade keine Idee wie es besser geht
    hat da vielleicht wer eine Idee?
    die box_checkoutnavi.html sieht jetzt so aus

    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="checkout_navigation"}
    <h2 class="boxheader" style="text-align:center">Ihre Schritte zur Bestellung</h2>
    <ol id="checkoutnavigation" style="list-style-position:inside" type="1">
          <li {if strstr ($smarty.server.PHP_SELF, 'shopping_cart')}  class="active"  {else}  class="inactive"  {/if}>
            {if (strstr ($smarty.server.PHP_SELF, 'confirmation')) ||  (strstr ($smarty.server.PHP_SELF, 'payment')) || (strstr ($smarty.server.PHP_SELF, 'shipping')) }
              <span class="title"><a href="{$LINK_CART}" title="hierher zurück">Warenkorb</a></span><br />
            {else}
              <span class="title">Warenkorb</span><br />
            {/if}
            <span class="description">Bestellte Artikel prüfen</span>
          </li>

          {if $smarty.session.customer_id}
          {else}
                  <li  {if (strstr ($smarty.server.PHP_SELF, 'login')) || (strstr ($smarty.server.PHP_SELF, 'account'))}  class="active"  {else}  class="inactive"  {/if}>
              <span class="title">Kundendaten</span><br />
              <span class="description">Anmelden oder als Gast bestellen</span>
            </li>
          {/if}

            <li {if strstr ($smarty.server.PHP_SELF, 'shipping')}  class="active"  {else}  class="inactive"  {/if}>
            {if (strstr ($smarty.server.PHP_SELF, 'confirmation')) ||  (strstr ($smarty.server.PHP_SELF, 'payment')) }
               <span class="title"><a href="{$LINK_SHIPPING}" title="hierher zurück">{#title_shipping#}</a></span><br />
              {else}
               <span class="title">{#title_shipping#}</span><br />
           {/if}
            <span class="description">{#desc_shipping#}</span>
         </li>

            <li {if strstr ($smarty.server.PHP_SELF, 'payment')}  class="active"  {else}  class="inactive"  {/if}>
            {if strstr ($smarty.server.PHP_SELF, 'confirmation')}
            <span class="title"><a href="{$LINK_PAYMENT}" title="hierher zurück">{#title_payment#}</a></span><br />
           {else}
            <span class="title">{#title_payment#}</span><br />
           {/if}
            <span class="description">{#desc_payment#}</span>
         </li>

            <li {if strstr ($smarty.server.PHP_SELF, 'confirmation')}  class="active"  {else}  class="inactive"  {/if}>
            <span class="title">{#title_confirmation#}</span><br />
           <span class="description">{#desc_confirmation#}</span>
         </li>

            <li {if strstr ($smarty.server.PHP_SELF, 'success')}  class="active"  {else}  class="inactive"  {/if}>
            <span class="title">{#title_success#}</span><br />
           <span class="description">{#desc_success#}</span>
         </li>
    </ol>
     
    Die Links zu den schon durchlaufenen Schritten stehen in der dazugehörigen checkoutnavi.php unter source/boxes

    Code: PHP  [Auswählen]
    <?php
    /* -----------------------------------------------------------------------------------------
       checkoutnavi.php
       ---------------------------------------------------------------------------------------*/


    $box_smarty = new smarty;
    $box_smarty->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/');
    $box_content='';

    $box_smarty->assign('LINK_CART', xtc_href_link(FILENAME_SHOPPING_CART, '', 'SSL'));
    $box_smarty->assign('LINK_SHIPPING', xtc_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
    $box_smarty->assign('LINK_PAYMENT', xtc_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')) ;

    $box_smarty->assign('language', $_SESSION['language']);
    $box_checkoutnavi = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_checkoutnavi.html', $cache_id);
    $smarty->assign('box_CHECKOUTNAVI', $box_checkoutnavi);
    ?>
    Freu mich auf Kommentare zum Prinzip und Ideen für elegantere Lösungen

    piru

    • Fördermitglied
    • Beiträge: 1.263
    • Geschlecht:
    Verbesserungsvorschlag: Bestellprozess optimieren
    Antwort #153 am: 29. Juli 2011, 07:45:33
    Guten Tag zusammmen,
    hier eine kleine Alternative ohne Javascript.

    login.php

    Suche:

    Code: PHP  [Auswählen]
    xtc_redirect(xtc_href_link(FILENAME_SHOPPING_CART, '', 'SSL'));
    Ersetze mit:

    Code: PHP  [Auswählen]
    ($_SESSION['MF_CHECKOUT_SHIPPING']=='1') ? xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')) : xtc_redirect(xtc_href_link(FILENAME_SHOPPING_CART, '', 'SSL'));
    checkout_shipping.php

    Suche:

    Code: PHP  [Auswählen]
    if (!isset ($_SESSION['customer_id'])) {
    Füge danach wie von piru erwähnt folgendes ein:

    Code: PHP  [Auswählen]
    $_SESSION['MF_CHECKOUT_SHIPPING']='1';
    Gruß h-h-h

    [...] wird man statt zum Warenkorb zur checkout_shipping umgeleitet.
    [...]

    Hallo @h-h-h,
    deine Lösung funktioniert perfekt  :thumbs:  wenn:
    - nach dem Warenkorb man sich als Gast anmeldet
    - nach dem Warenkorb man sich als schon existierende Kunde anmeldet
    Aber wenn man sich als neue Kd. anmeldet funktioniert nicht, man landet wieder in dem Warenkorb und nicht in dem checkout_shipping

    Hast du eine Idee dafür?

    Gruß piru

    piru

    • Fördermitglied
    • Beiträge: 1.263
    • Geschlecht:
    Verbesserungsvorschlag: Bestellprozess optimieren
    Antwort #154 am: 30. Juli 2011, 15:54:59
    hat vielleicht jemand anders eine Idee?  :?

    Gruß piru

    piru

    • Fördermitglied
    • Beiträge: 1.263
    • Geschlecht:
    Verbesserungsvorschlag: Bestellprozess optimieren
    Antwort #155 am: 02. August 2011, 11:22:40
    @h-h-h, ich sehe, dass du online bist, weiß du vielleicht die Lösung? Sorry, dass ich nerve...  :oops:

    Gruß piru

    martin-schulz1

    • Fördermitglied
    • Beiträge: 353
    • Geschlecht:
    Re: Verbesserungsvorschlag: Bestellprozess optimieren
    Antwort #156 am: 28. August 2011, 13:13:14
    Hallo

    Wenn ich die Boxen klickbar machen möchte, brauche ich da nicht einfach nur den "a href" tag benutzen oder geht das dann nicht?

    Code: PHP  [Auswählen]
    <a href="http://www.labelstore24.de/checkout_payment.php"><li class="inactive"><span class="number">2.</span> <span class="title">{#title_payment#}</span><br /><span class="description">{#desc_payment#}</span></li></a>

    ut2k3

    • Moderator
    • Beiträge: 496
    • Geschlecht:
    Re: Verbesserungsvorschlag: Bestellprozess optimieren
    Antwort #157 am: 28. August 2011, 19:54:21
    Diese Lösung ist nicht XHTML valide, sollte aber an sich gehen. Du kannst aber auch den "a"-tag in das Listenelement nehmen und dann per CSS ("display:block"und evtl. "width" und "height") das dann valider machen.

    Fritz

    • Mitglied
    • Beiträge: 134
    Re: Verbesserungsvorschlag: Bestellprozess optimieren
    Antwort #158 am: 12. Februar 2012, 15:01:34
    Wie wäre es mit einer Bestellung ohne vorherige Registrierung?
    Der Kunde gibt nur die benötigen Informationen ein und wird optional am Ende gefragt (nach der Bestellung), ob er mit den bereits eingegeben Daten einen Account anlegen möchte.

    Auch halte ich es nicht für sinnvoll den Bestellprozess über mehrere Seiten laufen zu lassen... in der kürze liegt bekanntlich die Würze :)

    Trucker05

    • Schreiberling
    • Beiträge: 347
    Re: Verbesserungsvorschlag: Bestellprozess optimieren
    Antwort #159 am: 23. März 2012, 21:20:46
    checkout_confirmation.php "Doppelbestellungen vermeiden"

    Wir bekommen des öfteren doppelte Bestellungen!
    Nun haben wir das ganze mal analysiert und sind drauf gekommen, dass die Weiterleitung zu PayPal zum Teil etwas länger dauert.
    Der Kunde kann nicht abwarten und klickt zwei mal auf Bestellung absenden.

    Eine Ladeanzeige wie die der Fancybox vielleicht auch mit kurzem Hinweis wäre hier klasse.

    Vielleicht findet das noch jemand gut?? Ich versuch es zumindest und melde die LÖsung, sollte ich es hinbekommen.

    alkim media

    • Experte
    • Beiträge: 658
    Re: Verbesserungsvorschlag: Bestellprozess optimieren
    Antwort #160 am: 24. März 2012, 04:53:11
    checkout_confirmation.php "Doppelbestellungen vermeiden"

    ...einfach den Bestellbutton nack Klicken deaktivieren

    Trucker05

    • Schreiberling
    • Beiträge: 347
    Re: Verbesserungsvorschlag: Bestellprozess optimieren
    Antwort #161 am: 24. März 2012, 11:24:34
    Denke eine kurze Anweisung wäre schon besser. Habe das mal versucht umzusetzen:

    in der Includes/header.php nach dem <head>
    Code: PHP  [Auswählen]
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>

    <script type="text/javascript">
    $(function(){
       $('#checkout_hint').hide();

       $('#checkout_button').click(function() {
          $(this).hide();
          $('#checkout_hint').show();
       });
    });
    </script>
    Denke die jquery.min.js könnte man auch ins Template legen und dort abrufen.

    Und in der /templates/xtc5/module/checkout_confirmation.html ganz unten

    Code: PHP  [Auswählen]
    <div id="checkout_hint">Ihre Bestellung wird bearbeitet. Wir bitten um einen kurzen Augenblick Geduld!</div>
    <a href="http://www.domain.de/checkout_process.php"> <input type="submit" id="checkout_button" value="Bestellung abschließen"/> </a>

    Jetzt habe ich den bestellen Button noch doppelt, da ich nicht genau weiß, wie ich den richtig einbauen soll, habe ich den alten mal noch gelassen.

    Vielleicht kann ja mal noch jemand mit php Kenntnissen weiterhelfen?

    hedon02

    • Viel Schreiber
    • Beiträge: 618
    Re: Verbesserungsvorschlag: Bestellprozess optimieren
    Antwort #162 am: 24. März 2012, 11:55:07
    Im Trunk tritt das Problem nicht auf. Ich bin aber noch nicht darauf gekommen wieso  :mhhh: .

    Gruss

    Trucker05

    • Schreiberling
    • Beiträge: 347
    Re: Verbesserungsvorschlag: Bestellprozess optimieren
    Antwort #163 am: 24. März 2012, 12:02:39
    Kann ich Dir sagen, es hat 2 Ursachen.

    1. Die Verzögerung tritt nur bei externen Zahlungsmodulen (PayPal, Klarna, Moneybookers usw..) auf. Hier dauert es bei hoher Auslastung des Servers z.B. bei PayPal auch mal länger.

    2. Der Kunde ist hierbei sehr ungeduldig und/oder sieht nicht, dass der Browser arbeitet.

    hedon02

    • Viel Schreiber
    • Beiträge: 618
    Re: Verbesserungsvorschlag: Bestellprozess optimieren
    Antwort #164 am: 24. März 2012, 12:09:10
    Das funktioniert auch ohne externe Weiterleitung. Brauchst nur mal schnell hintereinander auf den "button" klicken und man bekommt mehrere Bestellungen auf einmal.

    Schau mal hier, da ist auch eine Loesungsvariante dabei.:

    http://www.modified-shop.org/forum/index.php?topic=10602

    Gruss
    10 Antworten
    8276 Aufrufe
    25. Januar 2012, 09:51:21 von tanner63
    2 Antworten
    1191 Aufrufe
    24. August 2018, 09:18:08 von Andrin
    3 Antworten
    5086 Aufrufe
    14. Juli 2011, 07:20:41 von Tomcraft
    0 Antworten
    1800 Aufrufe
    28. August 2015, 07:36:22 von aposh