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: ANLEITUNG: Zustimmen der AGB in checkout_confirmation

    kyhn

    • Mitglied
    • Beiträge: 113
    ANLEITUNG: Zustimmen der AGB in checkout_confirmation
    Antwort #30 am: 21. Juli 2011, 08:23:39
    Genu dort habe ich geschaut / gesucht. Firefox und Chrome geben keinen Fehler aus. Mit firebug kann ich auch
    Nichts finden.
    Zu deinen anderen Problemen: wenn der andere post ne jobanfrage ist, dann schrei ich hier. Bin aber erstmal im Urlaub bis zum 01.08.

    Grüße kyhn

    Websell

    • Fördermitglied
    • Beiträge: 46
    • Geschlecht:
    Re: ANLEITUNG: Zustimmen der AGB in checkout_confirmation
    Antwort #31 am: 16. Januar 2012, 13:17:54
    Ich habe ebenfalls versucht diese Anleitung umzusetzen. Allerdings behaupte ich mal, dass hier ein schwerer Fehler drin steckt (sollte ich nicht etwas falsch gemacht haben).

    Wenn man die Abfrage ob die Checkbox gesetzt wurde wie angegeben in die "checkout_process.php" bei Zeile 54 einpflegt, treten Probleme bei der Zahlungsabwicklung auf.

    Wird die Checkbox also markiert und der User möchte dann z.B. über die PayPal API bezahlen kommt nach der Transaktion keine Bestätigung sondern der Fehler die Checkbox sei nicht aktiviert gewesen.

    Demnach müsste diese Abfrage wohl an anderer Stelle eingebaut werden oder die Abfrage an sich geändert werden.

    mit interaktiven Grüßen,
    Thomas

    Websell

    • Fördermitglied
    • Beiträge: 46
    • Geschlecht:
    Re: ANLEITUNG: Zustimmen der AGB in checkout_confirmation
    Antwort #32 am: 18. Januar 2012, 11:18:02
    Gibt es eigentlich keine Möglichkeit den Ersteller des Moduls (kyhn) irgendwie zu kontaktieren? Oder bin ich nur zu blind um die Nachrichtenfunktion zu finden?

    mit interaktiven Grüßen,
    Thomas

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: ANLEITUNG: Zustimmen der AGB in checkout_confirmation
    Antwort #33 am: 18. Januar 2012, 12:13:38
    Es gibt keine Möglichkeit, da er die Funktion zum Erhalt von E-Mail bei sich deaktiviert hat. Da musst du hier ins Forum schreiben. ;-)

    Grüße

    Torsten

    Websell

    • Fördermitglied
    • Beiträge: 46
    • Geschlecht:
    Re: ANLEITUNG: Zustimmen der AGB in checkout_confirmation
    Antwort #34 am: 19. Januar 2012, 17:32:52
    Schade, demnach habe ich keinerlei Möglichkeit ihn auf diesen Fehler hinzuweisen. Somit müsste ich also darauf hoffen, dass der Gute zufällig hier reinschneit.

    Ich würde mich ja selbst an einer Fehlerbehebung versuchen. Leider fehlt es mir bereits an einem Ansatz wo die Prüfung stattdessen unterzubringen wäre.

    mit interaktiven Grüßen,
    Thomas

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: ANLEITUNG: Zustimmen der AGB in checkout_confirmation
    Antwort #35 am: 19. Januar 2012, 17:57:15
    Er schaut hier regelmäßig in das Thema rein und wird sich bestimmt zu Wort melden, wenn er es für nötig erachtet.

    Grüße

    Torsten

    kyhn

    • Mitglied
    • Beiträge: 113
    Re: ANLEITUNG: Zustimmen der AGB in checkout_confirmation
    Antwort #36 am: 13. Februar 2012, 14:59:57
    Überarbeitete Anleitung nach Fehlermeldung von
    Websell
    hier

    1. Änderung in der "checkout_payment.html"

    Suche und Lösche den Teil mit den AGB und der dazugehörigen Checkbox:

    Code: PHP  [Auswählen]
    <h2>{#title_agb#}</h2>
    <p class="checkoutagb">{$AGB}</p>
    <table width="100%" border="0" cellspacing="0" cellpadding="4">
      <tr>
        <td>{$AGB_checkbox}</td>
        <td width="100%"><strong>{#text_accept_agb#}</strong></td>
     </tr>
    </table>

    2. Änderung in der "checkout_confirmation.html"

    a) Füge den Code zum Anzeigen der AGB und der dazugehörigen Checkbox aus 1. an die gewünschte Stelle in dieser Templatedatei. Achte dabei darauf, dass du den Beginn des Formulars
    zum Abschicken der Bestellung. Also folgende Zeile
    Code: PHP  [Auswählen]
    {$CHECKOUT_FORM}
    dann vor das Vorkommen des Code zum Anzeigen der AGB und der dazugehörigen Checkbox verschiebst.

    b) Füge folgenden Code zum Anzeigen einer Fehlermeldung unter der Checkoutnavigation ein, also wahrscheinlich direkt unter dem ersten Vorkommen von "<div style="clear:both"></div>"

    Code: PHP  [Auswählen]
    {if $error!=''}<div class="errormessage">{$error}</div>{/if}

    3. Änderung in der "checkout_payment.php"

    Der Code zum Auslesen der AGB und Zuweisen der notwendigen Smartyvariablen dient als Kopiervorlagen und sollte eigentlich auskommentiert werden können.

    Code: PHP  [Auswählen]
    //check if display conditions on checkout page is true
    if (DISPLAY_CONDITIONS_ON_CHECKOUT == 'true') {

            if (GROUP_CHECK == 'true') {
                    $group_check = "and group_ids LIKE '%c_" . $_SESSION['customers_status']['customers_status_id'] . "_group%'";
            }

            $shop_content_query = xtc_db_query("SELECT content_title,
                                                       content_heading,
                                                       content_text,
                                                       content_file
                                                 FROM "
    . TABLE_CONTENT_MANAGER . "
                                                 WHERE content_group='3' "
    . $group_check . "
                                                 AND languages_id='"
    . $_SESSION['languages_id'] . "'");
            $shop_content_data = xtc_db_fetch_array($shop_content_query);

            if ($shop_content_data['content_file'] != '') {
                    /* BOF - Hetfield - 2010-01-21 - Bugfix including contentfiles at SSL-Proxy */
                    //$conditions = '<iframe SRC="' . DIR_WS_CATALOG . 'media/content/' . $shop_content_data['content_file'] . '" width="100%" height="300">';
                    $conditions = '<div class="agbframe">' . file_get_contents(DIR_FS_DOCUMENT_ROOT . 'media/content/' . $shop_content_data['content_file']) . '</div>';
                    /* EOF - Hetfield - 2010-01-21 - Bugfix including contentfiles at SSL-Proxy */
            } else {
                    /* BOF - Hetfield - 2010-01-20 - Remove agb-textarea from checkout_payment */
                    //$conditions = '<textarea name="blabla" cols="60" rows="10" readonly="readonly">' . strip_tags(str_replace('<br />', "\n", $shop_content_data['content_text'])) . '</textarea>';
                    $conditions = '<div class="agbframe">' . $shop_content_data['content_text'] . '</div>';
                    /* EOF - Hetfield - 2010-01-20 - Remove agb-textarea from checkout_payment */
            }

            $smarty->assign('AGB', $conditions);
      //BOF - Hetfield - 2009-07-29 - SSL for Content-Links per getContentLink
            //$smarty->assign('AGB_LINK', $main->getContentLink(3, MORE_INFO));
            $smarty->assign('AGB_LINK', $main->getContentLink(3, MORE_INFO,'SSL'));
      //EOF - Hetfield - 2009-07-29 - SSL for Content-Links per getContentLink

            // BOF - Tomcraft - 2009-10-01 - AGB checkbox re-implemented
            if (isset ($_GET['step']) && $_GET['step'] == 'step2') {
                    $smarty->assign('AGB_checkbox', '<input type="checkbox" value="conditions" name="conditions" checked />');
            } else {
                    $smarty->assign('AGB_checkbox', '<input type="checkbox" value="conditions" name="conditions" />');
            }
            // EOF - Tomcraft - 2009-10-01 - AGB checkbox re-implemented

    }

    4. Änderungen in der "checkout_confirmation.php"

    a) Suche den Code, welcher abfragt, ob die AGB bestätigt wurden und kommentiere ihn aus.

    aus:

    Code: PHP  [Auswählen]
    // if conditions are not accepted, redirect the customer to the payment method selection page
    if (DISPLAY_CONDITIONS_ON_CHECKOUT == 'true') {
            if ($_POST['conditions'] == false) {
                    $error = str_replace('\n', '<br />', ERROR_CONDITIONS_NOT_ACCEPTED);
                    xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode($error), 'SSL', true, false));
            }
    }

    wird:

    Code: PHP  [Auswählen]
    /* BOF - kyhn - 2011-06-21 - AGB/conditions check not necessary */
    /*
    // if conditions are not accepted, redirect the customer to the payment method selection page
    if (DISPLAY_CONDITIONS_ON_CHECKOUT == 'true') {
            if ($_POST['conditions'] == false) {
                    $error = str_replace('\n', '<br />', ERROR_CONDITIONS_NOT_ACCEPTED);
                    xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode($error), 'SSL', true, false));
            }
    }
    */

    /*EOF - kyhn - 2011-06-21 - AGB/conditionscheck not necessary */

          b) Füge den Code aus 3. vor folgendem Code ein.

    Code: PHP  [Auswählen]
    $smarty->assign('language', $_SESSION['language']);

    5. Änderungen in der "checkout_process.php"

    Füge folgenden Code zur Abfrage, ob die AGB bestätigt wurden, ein. (nach Zeile 54 schlage ich vor)

    Code: PHP  [Auswählen]
    /* BOF - kyhn - 2011-06-21 - ckeck AGB/conditions */
    // if conditions are not accepted, redirect the customer to the confirmation page
    if (isset ($_POST['conditions'])){
    $_SESSION['conditions'] = $_POST['conditions'];
    }
    if ($_SESSION['conditions'] == false) {
                    $error = str_replace('\n', '<br />', ERROR_CONDITIONS_NOT_ACCEPTED);
                    xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_CONFIRMATION, 'error_message=' . urlencode($error), 'SSL', true, false));

            }
    /* EOF - kyhn - 2011-06-21 - ckeck AGB/conditions */

    desweiteren, füge hinter (ca. Zeile 374)
    Code: PHP  [Auswählen]
    // unregister session variables used during checkout

    noch diese Zeile hinzu
    Code: PHP  [Auswählen]
    unset ($_SESSION['conditions']);

    6. Änderungen in der Sprachdatei "/lang/german/lang_german.conf" (nach Hinweis von C1C2)

    Suche nach dieser Zeile
    [checkout_payment]
    folgendes
    Code: PHP  [Auswählen]
        text_accept_agb = 'Ich habe die Allgemeinen Geschäftsbedingungen gelesen und bin einverstanden.'
        title_agb = 'Allgemeine Geschäftsbedingungen:'
    "Schneide" es aus und kopiere es hinter folgende Zeile
    Code: PHP  [Auswählen]
    [checkout_confirmation]
    Grüße kyhn

    kyhn

    • Mitglied
    • Beiträge: 113
    Re: ANLEITUNG: Zustimmen der AGB in checkout_confirmation
    Antwort #37 am: 13. Februar 2012, 16:13:39
    @ Torsten und Team
    Sorry einmal bitte bitte bitte aufräumen.
    Hier meine aktuelle Fassung:

    Überarbeitete Anleitung nach Fehlermeldung von Websell
    hier

    Vorher Sicherheitskopie aller zu bearbeitenden Dateien.

    Dateiliste
    • templates/DEIN_TEMPLATE/module/checkout_payment.html
    • templates/DEIN_TEMPLATE/module/checkout_confirmation.html
    • checkout_payment.php
    • checkout_confirmation.php
    • checkout_process.php
    • lang/german/lang_german.conf

    1. Änderung in der "templates/DEIN_TEMPLATE/module/checkout_payment.html"

    Suche und Lösche den Teil mit den AGB und der dazugehörigen Checkbox:

    Code: PHP  [Auswählen]
    <h2>{#title_agb#}</h2>
    <p class="checkoutagb">{$AGB}</p>
    <table width="100%" border="0" cellspacing="0" cellpadding="4">
      <tr>
        <td>{$AGB_checkbox}</td>
        <td width="100%"><strong>{#text_accept_agb#}</strong></td>
     </tr>
    </table>

    2. Änderung in der "templates/DEIN_TEMPLATE/module/checkout_confirmation.html"

    a) Füge den Code zum Anzeigen der AGB und der dazugehörigen Checkbox aus 1. an die gewünschte Stelle in dieser Templatedatei. Achte dabei darauf, dass du den Beginn des Formulars
    zum Abschicken der Bestellung. Also folgende Zeile
    Code: PHP  [Auswählen]
    {$CHECKOUT_FORM}
    dann vor das Vorkommen des Code zum Anzeigen der AGB und der dazugehörigen Checkbox verschiebst.

    b) Füge folgenden Code zum Anzeigen einer Fehlermeldung unter der Checkoutnavigation ein, also wahrscheinlich direkt unter dem ersten Vorkommen von "<div style="clear:both"></div>"

    Code: PHP  [Auswählen]
    {if $error!=''}<div class="errormessage">{$error}</div>{/if}

    3. Änderung in der "checkout_payment.php"

    Der Code zum Auslesen der AGB und Zuweisen der notwendigen Smartyvariablen dient als Kopiervorlagen und sollte eigentlich auskommentiert / gelöscht werden können.

    Code: PHP  [Auswählen]
    //check if display conditions on checkout page is true
    if (DISPLAY_CONDITIONS_ON_CHECKOUT == 'true') {

            if (GROUP_CHECK == 'true') {
                    $group_check = "and group_ids LIKE '%c_" . $_SESSION['customers_status']['customers_status_id'] . "_group%'";
            }

            $shop_content_query = xtc_db_query("SELECT content_title,
                                                       content_heading,
                                                       content_text,
                                                       content_file
                                                 FROM "
    . TABLE_CONTENT_MANAGER . "
                                                 WHERE content_group='3' "
    . $group_check . "
                                                 AND languages_id='"
    . $_SESSION['languages_id'] . "'");
            $shop_content_data = xtc_db_fetch_array($shop_content_query);

            if ($shop_content_data['content_file'] != '') {
                    /* BOF - Hetfield - 2010-01-21 - Bugfix including contentfiles at SSL-Proxy */
                    //$conditions = '<iframe SRC="' . DIR_WS_CATALOG . 'media/content/' . $shop_content_data['content_file'] . '" width="100%" height="300">';
                    $conditions = '<div class="agbframe">' . file_get_contents(DIR_FS_DOCUMENT_ROOT . 'media/content/' . $shop_content_data['content_file']) . '</div>';
                    /* EOF - Hetfield - 2010-01-21 - Bugfix including contentfiles at SSL-Proxy */
            } else {
                    /* BOF - Hetfield - 2010-01-20 - Remove agb-textarea from checkout_payment */
                    //$conditions = '<textarea name="blabla" cols="60" rows="10" readonly="readonly">' . strip_tags(str_replace('<br />', "\n", $shop_content_data['content_text'])) . '</textarea>';
                    $conditions = '<div class="agbframe">' . $shop_content_data['content_text'] . '</div>';
                    /* EOF - Hetfield - 2010-01-20 - Remove agb-textarea from checkout_payment */
            }

            $smarty->assign('AGB', $conditions);
      //BOF - Hetfield - 2009-07-29 - SSL for Content-Links per getContentLink
            //$smarty->assign('AGB_LINK', $main->getContentLink(3, MORE_INFO));
            $smarty->assign('AGB_LINK', $main->getContentLink(3, MORE_INFO,'SSL'));
      //EOF - Hetfield - 2009-07-29 - SSL for Content-Links per getContentLink

            // BOF - Tomcraft - 2009-10-01 - AGB checkbox re-implemented
            if (isset ($_GET['step']) && $_GET['step'] == 'step2') {
                    $smarty->assign('AGB_checkbox', '<input type="checkbox" value="conditions" name="conditions" checked />');
            } else {
                    $smarty->assign('AGB_checkbox', '<input type="checkbox" value="conditions" name="conditions" />');
            }
            // EOF - Tomcraft - 2009-10-01 - AGB checkbox re-implemented

    }

    4. Änderungen in der "checkout_confirmation.php"

    a) Suche den Code, welcher abfragt, ob die AGB bestätigt wurden und kommentiere ihn aus.

    aus:

    Code: PHP  [Auswählen]
    // if conditions are not accepted, redirect the customer to the payment method selection page
    if (DISPLAY_CONDITIONS_ON_CHECKOUT == 'true') {
            if ($_POST['conditions'] == false) {
                    $error = str_replace('\n', '<br />', ERROR_CONDITIONS_NOT_ACCEPTED);
                    xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode($error), 'SSL', true, false));
            }
    }

    wird:

    Code: PHP  [Auswählen]
    /* BOF - kyhn - 2011-06-21 - AGB/conditions check not necessary */
    /*
    // if conditions are not accepted, redirect the customer to the payment method selection page
    if (DISPLAY_CONDITIONS_ON_CHECKOUT == 'true') {
            if ($_POST['conditions'] == false) {
                    $error = str_replace('\n', '<br />', ERROR_CONDITIONS_NOT_ACCEPTED);
                    xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode($error), 'SSL', true, false));
            }
    }
    */

    /*EOF - kyhn - 2011-06-21 - AGB/conditionscheck not necessary */

          b) Füge den Code aus 3. vor folgendem Code ein.

    Code: PHP  [Auswählen]
    $smarty->assign('language', $_SESSION['language']);

    5. Änderungen in der "checkout_process.php"

    Füge folgenden Code zur Abfrage, ob die AGB bestätigt wurden, ein. (nach Zeile 54 schlage ich vor)

    Code: PHP  [Auswählen]
    /* BOF - kyhn - 2011-06-21 - ckeck AGB/conditions */
    // if conditions are not accepted, redirect the customer to the confirmation page
    if (isset ($_POST['conditions'])){
    $_SESSION['conditions'] = $_POST['conditions'];
    }
    if ($_SESSION['conditions'] == false) {
                    $error = str_replace('\n', '<br />', ERROR_CONDITIONS_NOT_ACCEPTED);
                    xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_CONFIRMATION, 'error_message=' . urlencode($error), 'SSL', true, false));

            }
    /* EOF - kyhn - 2011-06-21 - ckeck AGB/conditions */

    desweiteren, füge hinter (ca. Zeile 374)
    Code: PHP  [Auswählen]
    // unregister session variables used during checkout

    noch diese Zeile hinzu
    Code: PHP  [Auswählen]
    unset ($_SESSION['conditions']);

    6. Änderungen in der Sprachdatei "/lang/german/lang_german.conf" (nach Hinweis von C1C2)

    Suche nach dieser Zeile
    [checkout_payment]
    folgendes
    Code: PHP  [Auswählen]
        text_accept_agb = 'Ich habe die Allgemeinen Geschäftsbedingungen gelesen und bin einverstanden.'
        title_agb = 'Allgemeine Geschäftsbedingungen:'
    "Schneide" es aus und kopiere es hinter folgende Zeile
    Code: PHP  [Auswählen]
    [checkout_confirmation]

    Für andere verwendete Sprachen muss die jeweilige Sprachdatei natürlich auch angepasst / abgeändert werden.

    Grüße kyhn

    albersmann

    • Fördermitglied
    • Beiträge: 786
    • Geschlecht:
    Re: ANLEITUNG: Zustimmen der AGB in checkout_confirmation
    Antwort #38 am: 13. Februar 2012, 16:25:40
    Danke für´s Teilen  :thumbs:.

    Gruß

    Sven

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: ANLEITUNG: Zustimmen der AGB in checkout_confirmation
    Antwort #39 am: 13. Februar 2012, 23:17:45
    Da ich diese Variante des Checkouts wesentlich logischer und komfortabler finde, habe ich versucht das Ganze in einen Testshop zu integrieren, aber leider funktioniert der ganze Prozess dann nicht mehr reibungslos.

    Kyhn, es wäre vielleicht sinnvoll, statt der langen Anleitung die geänderten Dateien als .zip anzuhängen.

    Gruß
    Ronny

    kyhn

    • Mitglied
    • Beiträge: 113
    Re: ANLEITUNG: Zustimmen der AGB in checkout_confirmation
    Antwort #40 am: 14. Februar 2012, 01:07:21
    Die Anleitung ist für mich ein gedankliches Konstrukt.
    Ich habe es so nicht zu laufen und müsste jetzt ersteinmal einen jungfreulichen
    modified eCommerce Shopsoftware-Shop aufsetzen und das Ganze einbauen. Das kann bei mir ein wenig dauern, da ich den Rest der Woche ausgebucht bin. Mal schauen wann ich dazu komme.
    Stelle das dann auch gerne als .zip bereit.

    Wo hakt es denn?

    Grüße kyhn

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: ANLEITUNG: Zustimmen der AGB in checkout_confirmation
    Antwort #41 am: 14. Februar 2012, 01:13:02
    Bei mir hakt es im Augenblick daran, dass ich schon auf der checkout_payment.php , wo ja voher die AGB Checkbox war nicht weiter komme. Hier erscheint beim Klick auf "weiter" die Errormessage, sowohl auf der Seite, als auch in der URL.

    Gruß
    Ronny

    kyhn

    • Mitglied
    • Beiträge: 113
    Re: ANLEITUNG: Zustimmen der AGB in checkout_confirmation
    Antwort #42 am: 14. Februar 2012, 01:18:33
    Ich würde sagen, du hast den Schritt 4a) vergessen / nicht umgesetzt.
    Auskommentieren / Löschen der Conditions-Abfrage in der checkout_confirmation.php.

    Grüße kyhn

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: ANLEITUNG: Zustimmen der AGB in checkout_confirmation
    Antwort #43 am: 14. Februar 2012, 01:22:13
    So, einen Schritt weiter. Funktioniert bis zur checkout_confirmation.php wunderbar. (Man sollte auch die richtige Datei hochladen *gg*). Nun habe ich die AGB aber garnicht abgehakt und konnte trotzdem einen Bestellung erfolgreich durchführen.

    Gruß
    Ronny

    kyhn

    • Mitglied
    • Beiträge: 113
    Re: ANLEITUNG: Zustimmen der AGB in checkout_confirmation
    Antwort #44 am: 14. Februar 2012, 01:25:58
    Ja ein Schritt weiter.
    Was ist mit der checkout_process.php?
    Ist die nach Anleitung Schritt 5 abgeändert und hochgeladen? :paperbag:

    Grüße kyhn
    16 Antworten
    11678 Aufrufe
    07. August 2012, 23:51:43 von maxxin
    39 Antworten
    23300 Aufrufe
    02. September 2013, 12:47:32 von pomm
    1 Antworten
    3077 Aufrufe
    20. Juli 2012, 13:18:53 von jannemann
    6 Antworten
    5841 Aufrufe
    13. Juli 2011, 07:29:07 von Tomcraft