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: Kunde soll Widerrufsbelehrung und AGB per Checkbox bestätigen

    Brocki

    • Neu im Forum
    • Beiträge: 25
    Hallo,

    es nervt wahrscheinlich, aber ich möchte dieses Thema noch einmal aufgreifen. Ich bin ein Umsteiger vom Data Becker Shop - Shop to Date auf modified eCommerce Shopsoftware und es ist toll, was hier alles automatisch schon vorhanden ist - allen voran die Grundpreisanzeige...
    Das die AGB bereits per Checkboxabfrage "abgezeichnet" werden ist auch super, aber auch ich habe meine Info vom Anwalt, nicht die WRB sonder die Datenschutzerklärung im Bestellprozess "abzeichnen" zu lassen.

    Wir können vielleicht jetzt einfach mal im Raum stehen lassen, ob das nötig ist oder nicht, ich bin am Prozedere der Checkboxprüfung interessiert.

    Ich habe meine zusätzlichen Checkbox in der checkout_payment.html eingefügt, habe alle nötigen Texte in der lang_german.conf Datei definiert und in der checkout_payment.php den Bereich ab Zeile 219 verdoppelt und ebenfalls angepasst.

    Code: PHP  [Auswählen]
    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" />');
            }

            if (isset ($_GET['step']) && $_GET['step'] == 'step2') {
                    $smarty->assign('DATEN_checkbox', '<input type="checkbox" value="conditions" name="conditions" checked />');
            } else {
                    $smarty->assign('DATEN_checkbox', '<input type="checkbox" value="conditions" name="conditions" />');
            }
    Fazit: Checkbox mit Text ist drin, er meckert, wenn nur AGB angehakt ist, er meckert auch, wenn nur die Datenschutzcheckbox angehakt ist - Problem, er meckert auch, wenn beide angeklickt sind und hier solle er ja dann eigentlich weitergehen.

    Link zur Doppelcheckbox

    Könnte mir ggf. jemand weiterhelfen?

    Vielen Dank und viele Grüße
    Jessica

    xarnu

    • Mitglied
    • Beiträge: 128
    Hab eine Lösung auf ecombase für alle die sowas umsetzen woll gefunden.

    Beitrag wurde von "tjgames" verfasst.

    checkout_payment.php:

    Nach

    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'] != '') {

                    $conditions = '<iframe SRC="' . DIR_WS_CATALOG . 'media/content/' . $shop_content_data['content_file'] . '" width="100%" height="300">';
                    $conditions .= '</iframe>';
            } else {

                    $conditions = '<textarea name="blabla" cols="60" rows="10" readonly="readonly">' . strip_tags(str_replace('<br />', "\n", $shop_content_data['content_text'])) . '</textarea>';
            }

            $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

    }

    folgendes einfügen

    Code: PHP  [Auswählen]
    //Widerufsrecht
    //check if display widerrufsrecht on checkout page is true
    if (DISPLAY_WIDERRUFSRECHT_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='0' "
    . $group_check . "
                                                 AND languages_id='"
    . $_SESSION['languages_id'] . "'");
            $shop_content_data = xtc_db_fetch_array($shop_content_query);

            if ($shop_content_data['content_file'] != '') {

                    $widerrufsrecht = '<iframe SRC="' . DIR_WS_CATALOG . 'media/content/' . $shop_content_data['content_file'] . '" width="100%" height="300">';
                    $widerrufsrecht .= '</iframe>';
            } else {

                    $widerrufsrecht = '<textarea name="blabla" cols="60" rows="10" readonly="readonly">' . strip_tags(str_replace('<br />', "\n", $shop_content_data['content_text'])) . '</textarea>';
            }

            $smarty->assign('WDR', $widerrufsrecht);
            $smarty->assign('WDR_LINK', $main->getContentLink(0, MORE_INFO,'SSL'));
            if (isset ($_GET['step']) && $_GET['step'] == 'step2') {
                    $smarty->assign('WDR_checkbox', '<input type="checkbox" value="widerrufsrecht" name="widerrufsrecht" checked />');
            } else {
                    $smarty->assign('WDR_checkbox', '<input type="checkbox" value="widerrufsrecht" name="widerrufsrecht" />');
            }

    }
    //Ende Widerrufsrecht

    includes/classes/payment.php:

    Nach

    Code: PHP  [Auswählen]
    if (DISPLAY_CONDITIONS_ON_CHECKOUT == 'true') {
            $js .= "\n" . '  if (!document.getElementById("checkout_payment").conditions.checked) {' . "\n" .
                   '    error_message = error_message + unescape("' . xtc_js_lang(ERROR_CONDITIONS_NOT_ACCEPTED) . '");' . "\n" .
                   '    error = 1;' . "\n" .
                   '  }' . "\n\n";
            }

    folgendes einfügen

    Code: PHP  [Auswählen]
                    //Widerufsrecht
                    if (DISPLAY_WIDERRUFSRECHT_ON_CHECKOUT == 'true') {
                    $js .= "\n" . '  if (!document.getElementById("checkout_payment").widerrufsrecht.checked) {' . "\n" .
                                    '       error_message = error_message + unescape("' . xtc_js_lang(ERROR_WIDERRUFSRECHT_NOT_ACCEPTED) . '");' . "\n" .
                                    '       error = 1;' . "\n" .
                                    '  }' . "\n\n";
                    }
                    //Ende Widerrufsrecht

    lang/german/admin/configuration.php:

    Nach

    Code: PHP  [Auswählen]
    define('DISPLAY_CONDITIONS_ON_CHECKOUT_DESC' , 'Anzeigen und Unterzeichnen der AGB beim Bestellvorgang');

    folgendes einfügen

    Code: PHP  [Auswählen]
    define('DISPLAY_WIDERRUFSRECHT_ON_CHECKOUT_TITLE' , 'Unterzeichnen der Widerrufsbelehrung');
    define('DISPLAY_WIDERRUFSRECHT_ON_CHECKOUT_DESC' , 'Anzeigen und Unterzeichnen der Widerufsbelehrung beim Bestellvorgang');

    lang/german.php:

    Nach

    Code: PHP  [Auswählen]
    define('ERROR_CONDITIONS_NOT_ACCEPTED', '* Sofern Sie unsere Allgemeinen Geschäftsbedingungen nicht akzeptieren,\n können wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen!\n\n');

    folgendes einfügen

    Code: PHP  [Auswählen]
    define('ERROR_WIDERRUFSRECHT_NOT_ACCEPTED', '* Sofern Sie unsere Widerufsrechtbelehrung nicht akzeptieren,\n können wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen!\n\n');

    lang/german/lang_german.conf:

    Nach

    Code: PHP  [Auswählen]
    text_gccover = 'Ihr Kupon deckt den Warenwert, Sie müssen nun lediglich unsere AGB akzeptieren und den Bestellprozess mit Weiter fortsetzen'

    folgendes einfügen

    Code: PHP  [Auswählen]
    title_wdr = 'Widerrufsrecht:'
    text_accept_wdr = 'Ich akzeptiere Ihre Widerrufsrechtbedingungen'

    templates/dein_template/module/checkout_payment.html:

    Nach

    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>

    folgendes einfügen

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

    Datenbank:

    Code: SQL  [Auswählen]
    INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES ('', 'DISPLAY_WIDERRUFSRECHT_ON_CHECKOUT', 'true', 17, 15, NULL, NOW(), NULL, 'xtc_cfg_select_option(array(\'true\', \'false\'),');

    menzel-shop

    • Neu im Forum
    • Beiträge: 42
    ich bin auch im händlerbund und die haben mir auch gesagt, agb, datenschutz usw bestätigen.

    ich bin auch noch in einem club wo anfängern geholfen wird.
    dort wurde das problem wie folgt gelöst, dass einfach in der
    lang/german/lang_german.conf

    der text geändert wurde, indem das wort widerrufsbelehrung usw eingefügt wurden.

    an die agb haben wir datenschutz und widerruf drangehängt, aber die links noch extra dazu gelassen im menü.

    in der german.php haben wir dann auch nur den text vom popup geändert.

    ich bin noch bei den änderungen nach der erstprüfung vom händlerbund, wenn ich mit allem fertig bin, schicke ich meine rückmeldung/fragen/anmerkungen zurück und mal sehen, was die dazu sagen.
    die können ja nicht von jedem verlangen, alle halbe jahre den shop umzuprogrammieren. die obrige variante halte ich für sehr aufwendig und da können schnell fehler passieren.

    xtcm_newbie

    • Fördermitglied
    • Beiträge: 30
    • Geschlecht:
    Hallo, habe hier ein fertiges Paket mit den 3 Checkboxen hoch geladen: ANLEITUNG: Händlerbund - Haken bei Bestellung, AGB, Widerruf, Datenschutz

    Gruss Andreas  :search:

               
    anything