Пол: пара

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Нужно создать дополнительный пол.

#1 4 августа 2011 в 23:49
В общем нужно создать третий пол пользователей, помимо муж. и жен. нужен еще пол "пара".
— у пользователя с "полом" пара должна быть своя иконка
— обязательный выбор пола при регистрации
— поиск пользователей с этим "полом", так же как и муж. и жен.
smile
Естественно не за бесплатно.
#2 5 августа 2011 в 03:51
1)components/users/frontend.php
в
  1. $usr['genderimg'] = '';
  2.  
  3. if ($usr['gender']) {
  4.  
  5. switch ($usr['gender']){
  6.  
  7. case 'm': $usr['genderimg'] = '<img src="/components/users/images/male.png"/>'; $usr['gender']=$_LANG['MALES']; break;
  8.  
  9. case 'f': $usr['genderimg'] = '<img src="/components/users/images/female.png"/>'; $usr['gender']=$_LANG['FEMALES']; break;
  10.  
  11. }
  12.  
  13. }
дописываем 3ий пол
  1. $usr['genderimg'] = '';
  2.  
  3. if ($usr['gender']) {
  4.  
  5. switch ($usr['gender']){
  6.  
  7. case 'm': $usr['genderimg'] = '<img src="/components/users/images/male.png"/>'; $usr['gender']=$_LANG['MALES']; break;
  8.  
  9. case 'f': $usr['genderimg'] = '<img src="/components/users/images/female.png"/>'; $usr['gender']=$_LANG['FEMALES']; break;
  10. case 'p': $usr['genderimg'] = '<img src="/components/users/images/pamale.png"/>'; $usr['gender']=$_LANG['PAMALES']; break;
  11.  
  12. }
  13.  
  14. }
изображение 3ьего пола должно быть тут components/users/images/pamale.png
2) там же во фронтеде для поиска по полу
заменяем
  1. if ($_REQUEST['gender']){
  2.  
  3. $val = $inCore->request('gender', 'str', 'm');
  4.  
  5. if ($val=='m'){
  6.  
  7. $s .= " AND p.gender = 'm'";
  8.  
  9. $stext[] = $_LANG['MALE'];
  10.  
  11. } elseif ($val=='f') {
  12.  
  13. $s .= " AND p.gender = 'f'";
  14.  
  15. $stext[] = $_LANG['FEMALE'];
  16.  
  17. }
  18.  
  19. }
на
  1. if ($_REQUEST['gender']){
  2.  
  3. $val = $inCore->request('gender', 'str', 'm');
  4.  
  5. if ($val=='m'){
  6.  
  7. $s .= " AND p.gender = 'm'";
  8.  
  9. $stext[] = $_LANG['MALE'];
  10.  
  11. } else ($val=='f') {
  12.  
  13. $s .= " AND p.gender = 'f'";
  14.  
  15. $stext[] = $_LANG['FEMALE'];
  16. } elseif ($val=='p') {
  17.  
  18. $s .= " AND p.gender = 'p'";
  19.  
  20. $stext[] = $_LANG['PAMALE'];
  21.  
  22. }
  23.  
  24. }
3) файл /core/classes/user.classes.php
заменяем
  1. if ($gender){
  2. switch($gender){
  3. case 'm': $gender_img = '/components/users/images/male.png'; break;
  4. case 'f': $gender_img = '/components/users/images/female.png'; break;
  5. default : $gender_img = '/components/users/images/male.png'; break;
  6. }
  7. }
на
  1. if ($gender){
  2. switch($gender){
  3. case 'm': $gender_img = '/components/users/images/male.png'; break;
  4. case 'f': $gender_img = '/components/users/images/female.png'; break;
  5. case 'p': $gender_img = '/components/users/images/pamale.png'; break;
  6. default : $gender_img = '/components/users/images/male.png'; break;
  7. }
  8. }
4) файл /languages/ru/components/users.php
до
  1. ?>
вставить
  1. $_LANG['PAMALE'] ='Пары';
  2. $_LANG['PAMALES'] ='Пара';
  3. $_LANG['FIND_PAMALE'] ='пар';
  4. $_LANG['PAMALE1'] ='пара';
  5. $_LANG['PAMALE2'] ='пары';
  6. $_LANG['PAMALE10'] ='пар';
Останется в шаблонах добавлять 3ий пол, надеюсь с этим разберётесь.
Если где-то ошибся, простите.
#3 5 августа 2011 в 12:58
Спасибо большое! Все работает.
Дримвивер жаловался на синтаксическую ошибку, там вместо
  1. else ($val=='f')
вроде как нужно
  1. elseif ($val=='f')
В шаблоны вставляется как дополнительная опция в селекте, все просто) Еще раз спасибо! В личку скиньте кошель для доната)
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.