Hallo Tomcraft,
diesen Beitrag habe ich noch mal neu erstellt und direkt verlinkt.
Händlerbund - Haken bei Bestellung: AGB, Widerruf, Datenschutz
In includes/classes/payment.php in Z. 153 nach:
$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";
das einfügen:
$js .= "\n" . ' if (!document.getElementById("checkout_payment").withdrawal.checked) {' . "\n" .
' error_message = error_message + unescape("' . xtc_js_lang(ERROR_WITHDRAWAL_NOT_ACCEPTED) . '");' . "\n" .
' error = 1;' . "\n" .
' }' . "\n\n";
$js .= "\n" . ' if (!document.getElementById("checkout_payment").DATA_PRIVACY.checked) {' . "\n" .
' error_message = error_message + unescape("' . xtc_js_lang(ERROR_DATA_PRIVACY_NOT_ACCEPTED) . '");' . "\n" .
' error = 1;' . "\n" .
' }' . "\n\n";
Dann in der checkout_payment.php nach der Z. 223:
$smarty->assign('AGB_checkbox', '<input type="checkbox" value="conditions" name="conditions" />');
}
// EOF - Tomcraft - 2009-10-01 - AGB checkbox re-implemented
das einfügen:
// BOF Withdrawal $shop_content_query2 = xtc_db_query
("SELECT content_title,
content_heading,
content_text,
content_file
FROM " . TABLE_CONTENT_MANAGER
. "
WHERE content_group='9' " . $group_check . "
AND languages_id='" . $_SESSION['languages_id'] . "'"); $shop_content_data2 = xtc_db_fetch_array
($shop_content_query2); if ($shop_content_data2['content_file'] != '') { $conditions2 = '<div class="withdrawalframe">' . file_get_contents(DIR_FS_DOCUMENT_ROOT
. 'media/content/' . $shop_content_data2['content_file']) . '</div>'; } else { $conditions2 = '<div class="withdrawalframe">' . $shop_content_data2['content_text'] . '</div>'; } $smarty->assign('WITHDRAWAL', $conditions2); $smarty->assign('WITHDRAWAL_LINK', $main->getContentLink(9, MORE_INFO
,'SSL')); if (isset ($_GET['step']) && $_GET['step'] == 'step2') { $smarty->assign('WITHDRAWAL_checkbox', '<input type="checkbox" value="withdrawal" name="withdrawal" checked />'); } else { $smarty->assign('WITHDRAWAL_checkbox', '<input type="checkbox" value="withdrawal" name="withdrawal" />'); } // EOF Withdrawal // BOF DATA_PRIVACY $shop_content_query3 = xtc_db_query
("SELECT content_title,
content_heading,
content_text,
content_file
FROM " . TABLE_CONTENT_MANAGER
. "
WHERE content_group='2' " . $group_check . "
AND languages_id='" . $_SESSION['languages_id'] . "'"); $shop_content_data3 = xtc_db_fetch_array
($shop_content_query3); if ($shop_content_data3['content_file'] != '') { $conditions3 = '<div class="DATA_PRIVACYframe">' . file_get_contents(DIR_FS_DOCUMENT_ROOT
. 'media/content/' . $shop_content_data3['content_file']) . '</div>'; } else { $conditions3 = '<div class="DATA_PRIVACYframe">' . $shop_content_data3['content_text'] . '</div>'; } $smarty->assign('DATA_PRIVACY', $conditions3); $smarty->assign('DATA_PRIVACY_LINK', $main->getContentLink(2, MORE_INFO
,'SSL')); if (isset ($_GET['step']) && $_GET['step'] == 'step2') { $smarty->assign('DATA_PRIVACY_checkbox', '<input type="checkbox" value="DATA_PRIVACY" name="DATA_PRIVACY" checked />'); } else { $smarty->assign('DATA_PRIVACY_checkbox', '<input type="checkbox" value="DATA_PRIVACY" name="DATA_PRIVACY" />'); } // EOF DATA_PRIVACY In der /templates/xtc5/module/checkout_payment.html in Z. 31 nach:
<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>
das einfügen:
<h2>{#title_withdrawal#}</h2>
<p class="checkoutwithdrawal">{$WITHDRAWAL}</p>
<table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td>{$WITHDRAWAL_checkbox}</td>
<td width="100%"><strong>{#text_accept_withdrawal#}</strong></td>
</tr>
</table>
<h2>{#title_DATA_PRIVACY#}</h2>
<p class="checkoutDATA_PRIVACY">{$DATA_PRIVACY}</p>
<table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td>{$DATA_PRIVACY_checkbox}</td>
<td width="100%"><strong>{#text_accept_DATA_PRIVACY#}</strong></td>
</tr>
</table>
Dann noch in der /templates/xtc5/stylesheet.css in Z.1052 nach:
/* AGB ON CHECKOUT SITE */
p.checkoutagb textarea {
width:100%;
}
das einfügen:
/* WITHDRAWAL ON CHECKOUT SITE */
p.checkoutwithdrawal textarea {
width:100%;
}
p.checkoutDATA_PRIVACY textarea {
width:100%;
}
In der /templates/xtc5/stylesheet.css Z. 1236 nach:
/* BOF - Hetfield - 2010-01-20 - Remove agb-textarea from checkout_payment */
div.agbframe {
width:100%;
height:200px;
overflow:auto;
padding:10px;
background:url(img/input_bg.gif) no-repeat;
border:1px solid #666;
}
/* EOF - Hetfield - 2010-01-20 - Remove agb-textarea from checkout_payment */
/* BOF - web28 - 2010-04-29 - fix ol and ul Tag in checkout_payment agbframe */
div.agbframe ol, div.agbframe ul {
margin-left:30px;
}
/* EOF - web28 - 2010-04-29 - fix ol and ul Tag in checkout_payment agbframe */
das einfügen:
/* BOF - withdrawalframe */
div.withdrawalframe {
width:100%;
height:200px;
overflow:auto;
padding:10px;
background:url(img/input_bg.gif) no-repeat;
border:1px solid #666;
}
div.withdrawalframe ol, div.withdrawalframe ul {
margin-left:30px;
}
/* EOF - withdrawalframe */
/* BOF - DATA_PRIVACYframe */
div.DATA_PRIVACYframe {
width:100%;
height:200px;
overflow:auto;
padding:10px;
background:url(img/input_bg.gif) no-repeat;
border:1px solid #666;
}
div.DATA_PRIVACYframe ol, div.DATA_PRIVACYframe ul {
margin-left:30px;
}
/* EOF - DATA_PRIVACYframe */
Dann in der /lang/german/lang_german.conf nach Z.350:
title_agb = 'Allgemeine Geschäftsbedingungen:'
text_accept_agb = 'Ich akzeptiere die allgemeinen Geschäfts- und Lieferbedingungen'
das einfügen:
title_withdrawal = 'Widerrufsrecht:'
text_accept_withdrawal = 'Ich akzeptiere das Widerrufsrecht'
title_DATA_PRIVACY = 'Datenschutzerklärung:'
text_accept_DATA_PRIVACY = 'Ich akzeptiere die Datenschutzerklärung'
In /lang/german/german.php in Z.263 nach:
define('ERROR_CONDITIONS_NOT_ACCEPTED', '* Sofern Sie unsere Allgemeinen Geschäftsbedingungen nicht akzeptieren,\n können wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen!\n\n'); das einfügen:
define('ERROR_WITHDRAWAL_NOT_ACCEPTED', '* Sofern Sie unser Widerrufsrecht nicht akzeptieren,\n können wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen!\n\n'); define('ERROR_DATA_PRIVACY_NOT_ACCEPTED', '* Sofern Sie unsere Datenschutzerklärung nicht akzeptieren,\n können wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen!\n\n'); Dann in der /lang/english/lang_english.conf nach Z.349:
title_agb = 'General terms and conditions:'
text_accept_agb = 'I accept your general terms and conditions as well as your conditions of delivery'
das einfügen:
title_withdrawal = 'Cancellation right:'
text_accept_withdrawal = 'I accept the cancellation right'
title_DATA_PRIVACY = 'Data protection explanation'
text_accept_DATA_PRIVACY = 'I have read data protection explanation'
In /lang/english/english.php in Z.263 nach:
define('ERROR_CONDITIONS_NOT_ACCEPTED', '* Sofern Sie unsere Allgemeinen Geschäftsbedingungen nicht akzeptieren,\n können wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen!\n\n'); das einfügen:
define('ERROR_WITHDRAWAL_NOT_ACCEPTED', '* Provided that you do not accept our cancellation right,\n we cannot accept your order,\n regrettably!\n\n'); define('ERROR_DATA_PRIVACY_NOT_ACCEPTED', '*Provided that you have not read our data protection explanation,\n we cannot accept your order,\n regrettably!\n\n'); Das ist alles, fix und fertig inkl. aller 3 Boxen mit englischer Sprache.
Erweiterung bei ausgeschaltetem Javascript:Falls es noch jemanden interessiert.
Ich habe in der "checkout_confirmation.php" ab Zeile 83 noch folgendes eingefügt:
if (DISPLAY_CONDITIONS_ON_CHECKOUT
== 'true') { if ($_POST['withdrawal'] == false) { $error = str_replace('\n', '<br />', ERROR_WITHDRAWAL_NOT_ACCEPTED
); xtc_redirect
(xtc_href_link
(FILENAME_CHECKOUT_PAYMENT
, 'error_message=' . urlencode($error), 'SSL', true, false)); }}
jetzt klappt es auch, wenn Javascript ausgeschaltet ist.
Viele Grüße
Franky
[
EDIT Tomcraft 25.01.2012: Erweiterung bei ausgeschaltetem Javascript von joeyboombang1 mit eingefügt.]