Standartinės registracijos formos redagavimas
Sekmadienis, 05 Birželis 2011 08:49
Parašė Rimvydas
Peržiūrų: 863
Standartinę Joomlos registracijos formą sudaro penki laukai: vardas, vartotojo vardas, el. paštas, slaptažodis ir slaptažodžio patvirtinimas. Čia paaiškinsiu kaip formą galima papildyti mums reikiamais papildomais laukais. Sakykime norime pridėti lauką “šalis”.
Pirmiausiai turime duomenų bazėje padaryti atitinkamus pakeitimus. Atsidarome duomenų bazę ir SQL užklausoje parašome:
1 |
ALTER TABLE `jos_users` ADD `country` VARCHAR( 250 ) NOT NULL ;
|
Tokiu būdu padaromas atitinkamos lentelės (jos_user) papildymas grafa country.Nepamirškite parašyti teisingą (jūsų DB naudojama) prefiksą.
Sekantis žingsnis registracijos formos pakeitimas. Formos failas : components\com_user\views\register\tmpl\default.php Susirandame vietą kurioje norime įterpti papildomą laukelį pvz.: po username Ir įterpiame tokį kodo gabaliuką:
1 2 3 4 5 6 7 8 9 10 |
tr> <td height="40"> <label id="citymsg" for="country"> <?php echo JText::_( 'Country' ); ?>: </label> </td> <td> <input type="text" id="country" name="country" size="40" value="<?php echo $this->user->get( 'country' );?>" class="inputbox required validate-country" maxlength="25" /> * </td> </tr> |
1 |
var $username = null;
|
1 |
var $country = null;
|
Kadangi formos laukelį padarėme privalomą (required) atliekame patikrinimo apie neužpildytą lauką funkciją . Šiame pačiame users.php faile įrašome :
1 2 3 4 |
if (trim( $this->country ) == ‘’) { $this->setError( JText::_( 'Please enter a country.') ); return false; } |
Tiesa jei naudojate lietuvių kalbą (ar kitas ne anglų kalbas) atitinkamos kalbos failą:
administrator\language\lt-LT\ lt-LT.com_user.ini ir language\lt-LT\ lt-LT.com_user.ini
papildome įrašu: COUNTRY = Šalis
PASTABA: Prieš atlikdami pakeitimus pasidarykite atsarginę kopiją!
Joomla123.lt is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.
The Joomla!® name is used under a limited license from Open Source Matters in the United States and other countries.


