http://hosting.pro-linuxpl.com/

Obowiązkowe pola profilów w rejestracji

  • 6 Odpowiedzi
  • 503 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline js

  • *
  • 287
  • 7
  • Płeć: Mężczyzna
  • Wersja SMF: 2.0.14
Obowiązkowe pola profilów w rejestracji
« dnia: 15 Maj 2017, 20:29 »
Witam,

Czy da się zrobić tak, by pole: Miejsce pobytu i Płeć podczas rejestracji było obowiązkiem do wpisania/wybrania? Żeby przy tych polach była widoczna gwiazdka i żeby nie było możliwości wykreślenia tych pozycji w profilu użytkownika.
« Ostatnia zmiana: 15 Maj 2017, 20:31 wysłana przez js »

*

Offline pretor

  • ****
  • 1378
  • 64
    • VW Club Polska
  • Wersja SMF: 2.0.14
Odp: Obowiązkowe pola profilów w rejestracji
« Odpowiedź #1 dnia: 19 Maj 2017, 00:38 »
Czy da się zrobić tak, by pole: Miejsce pobytu i Płeć podczas rejestracji było obowiązkiem do wpisania/wybrania? Żeby przy tych polach była widoczna gwiazdka i żeby nie było możliwości wykreślenia tych pozycji w profilu użytkownika.

Musisz wyłączyć standardowe pola:  Miejsce pobytu i Płeć i stworzyć nowe swoje: PA / Konfiguracja / Właściwości i opcje / Pola profilów ->> Nowe pole  ->> Nazwa profilu: Płeć / Sekcja profilu: Profil forum / Pokaż przy rejestracji: Tak i wymagaj wpisania / reszta ustawień przy tworzeniu nowego profilu według twojego uznania.

Analogicznie i dokładnie tak samo: stwórz nowy profil o nazwie "Miejsce pobytu" a standardowe pole wyłącz. Powinno działać tak jak chcesz ;)
Pytania odnośnie działania SMF, zadaje się na forum w odpowiednim dla nich dziale ;)
VW Club PolskaDzień dobry K-Koźle

*

Offline js

  • *
  • 287
  • 7
  • Płeć: Mężczyzna
  • Wersja SMF: 2.0.14
Odp: Obowiązkowe pola profilów w rejestracji
« Odpowiedź #2 dnia: 19 Maj 2017, 09:24 »
Dzięki za informację, ale niestety podczas stworzenia profilu Płeć i zaznaczeniu opcji: Tak i wymagaj wpisania i wybraniu typ pola: lista wyboru - da się przejść rejestrację bez wybrania płci, coś nie działa ta funkcja.

*

Offline pretor

  • ****
  • 1378
  • 64
    • VW Club Polska
  • Wersja SMF: 2.0.14
Odp: Obowiązkowe pola profilów w rejestracji
« Odpowiedź #3 dnia: 19 Maj 2017, 16:22 »
Właśnie to zauważyłem, że pomimo wymuszenia wybrania jednej z 2 opcji pojawia się też puste pole, które można wybrać (według mnie to błąd i należało by go poprawić).

Spróbuj wybrać: "Grupa opcji" i wpisać takie 3 opcje
- Mężczyzna
- Kobieta
- Musisz wybrać swoją płeć (to opcję zaznacz jako domyślną)

To półśrodek ale nic innego bez zmiany w samym kodzie forum nie wymyślę.
« Ostatnia zmiana: 19 Maj 2017, 17:11 wysłana przez pretor »
Pytania odnośnie działania SMF, zadaje się na forum w odpowiednim dla nich dziale ;)
VW Club PolskaDzień dobry K-Koźle

*

Offline js

  • *
  • 287
  • 7
  • Płeć: Mężczyzna
  • Wersja SMF: 2.0.14
Odp: Obowiązkowe pola profilów w rejestracji
« Odpowiedź #4 dnia: 21 Maj 2017, 15:13 »
Trzeba ten błąd ludziom na simplemachines.org zgłosić. :)

*

Offline js

  • *
  • 287
  • 7
  • Płeć: Mężczyzna
  • Wersja SMF: 2.0.14
Odp: Obowiązkowe pola profilów w rejestracji
« Odpowiedź #5 dnia: 24 Sierpień 2017, 13:12 »
Zgłosiłem ten błąd:

https://www.simplemachines.org/community/index.php?topic=555774.0

A błąd został zgłoszony w SMF Development/Bug Reports

Więc tylko czekać aż zostanie naprawiony. W sumie dobrze byłoby gdyby umożliwili edycję istniejących standardowych pól profilu, chodzi mi o pole Płeć i Miejsce pobytu.

*

Offline js

  • *
  • 287
  • 7
  • Płeć: Mężczyzna
  • Wersja SMF: 2.0.14
Odp: Obowiązkowe pola profilów w rejestracji
« Odpowiedź #6 dnia: 29 Sierpień 2017, 18:55 »
Rozwiązanie tego błędu:

Sources/Register.php

Znajdź kod:

// Set the options needed for registration.
$regOptions = array(
'interface' => 'guest',
'username' => !empty($_POST['user']) ? $_POST['user'] : '',

I dodaj tę linię kodu pod linią "username":

'gender' => !empty($_POST['gender']) ? $_POST['gender'] : '',      
Sources/Subs-Members.php

Znajdź kod:

// !!! Separate the sprintf?
if ($smcFunc['db_num_rows']($request) != 0)
$reg_errors[] = array('lang', 'email_in_use', false, array(htmlspecialchars($regOptions['email'])));
$smcFunc['db_free_result']($request);

I dodaj ten kod poniżej:

/// Require gender
if (empty($regOptions['gender']))
$reg_errors[] = array('lang', 'need_gender');

Czyli:

// !!! Separate the sprintf?
if ($smcFunc['db_num_rows']($request) != 0)
$reg_errors[] = array('lang', 'email_in_use', false, array(htmlspecialchars($regOptions['email'])));
$smcFunc['db_free_result']($request);

/// Require gender
if (empty($regOptions['gender']))
$reg_errors[] = array('lang', 'need_gender');

Dla języka polskiego:

Themes/default/languages/Login.polish-utf8.php

Znajdź kod:

// Registration form.
$txt['registration_form'] = 'Formularz rejestracji';
$txt['need_username'] = 'Powinieneś podać nazwę użytkownika.';

I dodaj tę linię kodu pod linią "need_username":

$txt['need_gender'] = 'Musisz wybrać swoją płeć.';
Dla języka angielskiego:

Themes/default/languages/Login.english.php

Znajdź kod:

// Registration form.
$txt['registration_form'] = 'Registration Form';
$txt['need_username'] = 'You need to fill in a username.';

I dodaj tę linię kodu pod linią "need_username":

$txt['need_gender'] = 'You must select your gender.';
Rozwiązanie tego błędu na forum simplemachines.

Mam nadzieję, że naprawią ten błąd w następnym wydaniu SMF 2.0.15
« Ostatnia zmiana: 29 Sierpień 2017, 19:02 wysłana przez js »