Поиск результатов не дал, поэтому решил взяться сам. За основу взял обработчик поля "Страна" и по аналогии попробовал сделать то же для поля "группа пользователей".
В файл core/tpl/user/шаблон/register.tpl.html после строки
<table cellspacing="0" cellpadding="0" align="center">вписал
{if $custgroups} <tr> <td align="right" valign="middle"><span class="error">*</span> {$smarty.const.CUSTGROUPS_NAME}: </td> <td valign="middle" align="left"> <select name="custgroupID" onchange='billingAddressCheckHandler(); changeСustgroupHandler();'> {section name=i loop=$custgroups} <option value="{$custgroups[i].custgroupID}" {if $custgroupID ne NULL} {if $custgroups[i].custgroupID == $custgroupID} selected {/if} {else} {if $custgroups[i].custgroupID == $smarty.const.CONF_DEFAULT_CUSTGROUPS} selected {/if} {/if} >{$custgroups[i].custgroup_name}</option> {/section} </select> </td> </tr> <tr> <td colspan="2" style="height: 6px;"></td> </tr> {else} <tr> <td><input type=hidden name='custgroupID' value='NULL'></td> </tr> {/if}
В файл core/functions/setting_functions.php добавил функцию
function settingCONF_DEFAULT_CUSTGROUPS() { if ( isset($_POST["save"]) ) _setSettingOptionValue( "CONF_DEFAULT_CUSTGROUPS", $_POST["settingCONF_DEFAULT_CUSTGROUPS"] ); $res = "<select name='settingCONF_DEFAULT_CUSTGROUPS'>"; $res .= "<option value='0'>".ADMIN_NOT_DEFINED."</option>"; $selectedID = _getSettingOptionValue("CONF_DEFAULT_CUSTGROUPS"); $count_row = 0; $custgroups = cnGetCustgroups( array(), $count_row ); foreach( $custgroups as $custgroup ) { $res .= "<option value='".$custgroup["custgroupID"]."'"; if ( $selectedID == $custgroup["custgroupID"] ) $res .= " selected "; $res .= ">"; $res .= " ".$custgroup["custgroup_name"]; $res .= "</option>"; } $res .= "</select>"; return $res; }
И в файл core/languages/russian.php добавил строку
define('CUSTGROUPS_NAME', 'Группа пользователей');
Поле на странице не отобразилось, значит в коде есть ошибка. Знающие люди ткните носом...
Далее реализавывать думаю через создание отдельных файлов для каждого варианта регистрации. Но для начала нужно решить данное затруднение.