вопрос
Расскажте пожалуйста немого о дополнительных полях при регистрации. Меня в частности интересует такая возможность. Можно ли сделать так, чтобы изимать какую небудь функцию из них. Ну допустим имели связь с созданными категориями. К примеру, я создаю дополнительные поля в виде списка (список - 1, 2, 3, 4, 5), списки эти хочу связать с категориями новостей, пользователь при регистрации выбирает №3 из списка и ему на главной (или ещё где) в отдельном блоке высвечиваются новости из категории новостей №3. ? Может тегом кастом, или ещё как подобное реализуется? В общем мне очень интересна возможность дополнительных полей при регистрации. Благодарю.
Предложу вот такой вариант:
При регистрации на DLE-сайте пользователь выбирает группу, а в шаблоне уже используем теги [group= ]
Итак даю инструкцию:
1. открываем: /engine/modules/register.php
Ищем
Вставляем далее
Ищем
Меняем на
2. Редактируем шаблон. ./templates/[имя шаблона]/registration.tpl
в нужное место вставляем тег {group} и радуемся жизни.
ВНИМАНИЕ. Способ будет работать только для новых пользователей. Тестировалось на DLE 8.5-9.0 но и на других должно идти.
Ещё можно организовать через допполя в профиле и jQuery, но это с практической точки зрения сложнее.
При регистрации на DLE-сайте пользователь выбирает группу, а в шаблоне уже используем теги [group= ]
Итак даю инструкцию:
1. открываем: /engine/modules/register.php
Ищем
$tpl->set( '[registration]', "" );Вставляем выше
Ищем (будет найдено 2 вхождения)
$group_select = '';
$allow_group = array(3,4); // Группы доступные при регистрации
foreach ( $allow_group as $id ) {
$group = $user_group[$id];
$group_select .= '<option value="' . $group['id'] . "\">" . $group['group_name'] . "</option>\n";
}
$tpl->set( '{group}', "<select name=\"group\">".$group_select."</select>" );
rawurlencode( base64_encode( $name . "||" . $email . "||" . md5( $password1 ) . "||" . md5( md5( $name . $email . DBHOST . DBNAME . $config['key'] ) )
Вставляем далее
. "||" . (int)$_POST['group']
Ищем
$db->query( "INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip) VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '" . $config['reg_group'] . "', '', '', '', '', '" . $_IP . "')" );
Меняем на
$allow_group = array(3,4); // Группы доступные при регистрации
$user_arr[4] = intval($user_arr[4]);
if(!in_array($user_arr[4], $allow_group)) $user_arr[4] = 4; // Группа по умолчанию
$db->query( "INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip) VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '" . $user_arr[4] . "', '', '', '', '', '" . $_IP . "')" );
2. Редактируем шаблон. ./templates/[имя шаблона]/registration.tpl
в нужное место вставляем тег {group} и радуемся жизни.
ВНИМАНИЕ. Способ будет работать только для новых пользователей. Тестировалось на DLE 8.5-9.0 но и на других должно идти.
Ещё можно организовать через допполя в профиле и jQuery, но это с практической точки зрения сложнее.