PDA

Zobacz pełną wersję : usunięcie "nazwy" z panelu rejestracji



salon
25-01-2011, 16:30
Jak usunać pole "nazwa" w panelu rejestracji. Chce mieć tylko "nazwe uzytkowanika" - probowalem usunac bezposredniow w pliku jednak wtedy nie rejestruje nowych uzytkownikow. Aby nie edytowac bazy, moze da sie zrobic cos ala nazwa = nazwa_uzytkownika ?

Druga rzecz - czy da sie zrobic tak aby po kliknieciu na "zarejestruj" przekierowywalo na jakoas okreslona strone. Chce aby wyswietlala sie informacja ze nalezy aktywaowac konto porzez kod wyslany na maila.

Gall Anonim
25-01-2011, 17:57
Ad.1
Możesz ustawić tak aby nazwa = użytkownik i z jednego pola szło info do dwóch w db
Ad.2
O ile kojarzę - ta informacja podawana była automatycznie po wysłaniu rejestracji ustawionej na automat w konfiguracji
Pzdr

salon
25-01-2011, 20:06
To jest chyba ten kod odpowiedzialny za dzialanie rejestracji ? Jak go zmienic zeby dzialal jak ww. ?


<tr>
<td width="30%" height="40">
<label id="namemsg" for="name">
<?php echo JText::_( 'Name' ); ?>:
</label>
</td>
<td>
<input type="text" name="name" id="name" size="40" value="<?php echo $this->escape($this->user->get( 'name' ));?>" class="inputbox required" maxlength="50" /> *
</td>
</tr>
<tr>
<td height="40">
<label id="usernamemsg" for="username">
<?php echo JText::_( 'User name' ); ?>:
</label>
</td>
<td>
<input type="text" id="username" name="username" size="40" value="<?php echo $this->escape($this->user->get( 'username' ));?>" class="inputbox required validate-username" maxlength="25" /> *
</td>
</tr>

ppilus
25-01-2011, 20:37
Szanowny przedmówco @Gall... , zastanów się na ile by Cię zadowalała odpowiedź w stylu tej powyżej gdybyś to Ty potrzebował pomocy ;)

Nie wiem jak zrobić by nazwa i użytkownik szły z jednego pola, może ktoś od php coś podpowie, ale ...
proponuję zagadnienie rozwiązać korzystając z nadpisywania szablonu. Plik \components\com_user\views\register\tmpl\default.p hp należy skopiować do lokalizacji \templates\TWOJSZABLON\html\com_user\register\ i podać drobnej modyfikacji.
Wystarczy prosty skrypt (wyszperany w sieci), który przepisuje dane z pola username do pola name:
**********
function przepisz() {
document.getElementById("B1").value = (document.getElementById("A1").value);
}
</script>
<input id="A1" name="A1" type="text" value="" onkeyup="process1()">
<input id="B1" name="B1" type="text" value="" onFocus="process1()">Oczywiście należało też zmienić wiersze odpowiedzialne za wyświetlanie pól zgodnie z powyższym wzorem. Jako, że nie bardzo chce mi się więcej pisać w załączeniu przedmiotowy pliczek. Zobaczysz co i jak.

//edit: Zapomniałem o pkt. 2 :)
Stosowny komunikat i owszem jest wyświetlany, jednakże pod warunkiem, że w szablonie wstawione zostało miejsce dla wyświetlania komunikatów

<jdoc:include type="message" />

salon
26-01-2011, 17:34
Dzięki działa wszystko pięknie - przepisuje do obu pól to co wpisze w jedym. Czy da sie ukryc jakos tak aby pole odpowiedzialne za nazwe (kod podany nizej) można bylo jakos ukryć. Zeby to przepisywał ale tak 'niezałwazenie' - Uzytkownik nawet nie wie ze cos takiego dzieje sie w tle ?


<tr>
<td width="30%" height="40">
<label id="namemsg" for="name">
<?php echo JText::_( 'Name' ); ?>:
</label>
</td>
<td>
<input type="text" name="name" id="name" size="40" value="" onFocus="przepisz()" readonly="readonly" class="inputbox required" maxlength="50" /> *
</td>
</tr>



<jdoc:include type="message" />

A wiesz moge gdzie to mniej wiecej moge szukac ?

ppilus
26-01-2011, 17:48
A wiesz moge gdzie to mniej wiecej moge szukac ?Plik index.php szablonu. Zobacz w domyślnych szablonach jak to wygląda i co czyni.

salon
26-01-2011, 19:22
Udało mi sie w koncu to zrobic. Dziwi mnie ze az takie problemy z tym sa i ze az tak malo osob przeszkadzalo to pole - bo jak dla mnie jest w ogole nie potrzebne i wprowadza tylko niepotrzebny zamęt.

Tak wiec wrzuciłem do pliku funkcje by ppilus i zmienilem pole name


<tr>
<td width="30%" height="0">
</td>
<td>
<input type="hidden" name="name" id="name" size="40" value="" onFocus="przepisz()" readonly="readonly" class="inputbox required" maxlength="50" /> *
</td>
</tr>

Czyli wywalenie tekst, tekst input typu 'hidden' i 0px tabeli. Wszystko działa jak ta lala ;]

Efekt mozna zoabczyc na http://e-reproduktor.pl/

do zamkniecia