I have now tried to create a hook to extend the query, e.g. when registering a customer. However, I do not know how to act on the missing entries.
Currently I just write something in $errors but that doesn't work so that it queries the fields additionally.
clientregister.tpl
<div class="row">
<div class="col-sm-1" style="text-align:right">
<input type="checkbox" name="accepttos" id="accepttos" />
</div>
<div class="col-sm-11" style="text-align:left">
{$LANG.ordertosagreement}
<strong><a href="{$tosurl}" target="_blank">{$LANG.ordertos}</a></strong>
</div>
</div>
<div class="row">
<div class="col-sm-1" style="text-align:right">
<input type="checkbox" name="widerruf" id="widerruf" />
</div>
<div class="col-sm-11" style="text-align:left">
{$LANG.ordercancellationpolicyagreement}
<strong><a href="{$WEB_ROOT}cancellationpolicy.php" target="_blank">{$LANG.ordercancellationpolicy}</a></strong>
</div>
</div>
<div class="row">
<div class="col-sm-1" style="text-align:right">
<input type="checkbox" name="datenschutz" id="datenschutz" />
</div>
<div class="col-sm-11" style="text-align:left">
{$LANG.orderprivacypolicyagreement}
<strong><a href="{$WEB_ROOT}privacypolicy.php" target="_blank">{$LANG.orderprivacypolicy}</a></strong>
</div>
</div>
ClientRegister.php ( includes/hooks/)
<?php
add_hook('ClientAreaRegister', 1, function($vars) {
global $_LANG;
$errors = array();
if ( $_REQUEST['widerruf'] != true ) {
$errors[] = $_LANG['ordercancellationpolicy'];
}
if ( $_REQUEST['datenschutz'] != true ) {
$errors[] = $_LANG['orderprivacypolicy'];
}
return $errors;
});