Registrace v Joomle 1.5 a staré šablony

05.04.2008 20:34 116 zhlédnutí
Autor článku
Filip Bartmann
Článek uživatele

Pokud používáte novou Joomlu! 1.5.2 a ještě nemáte k dispozici šablonu psanou přesně pro tuto verzi CMS Joomla, jistě jste zažili problémy s registrací uživatelů, kdy se po úspěšné registraci zobrazí místo zprávy znova registrační formulář a návštěvník vašich stránek je pak zmaten, protože neví jestli se mu registrace podařila. K odstranění tohoto problému stačí jenom pár zásahů do kódu Joomly.

Konkrétně se jedná o komponentu com_user, která se nachází v adresáři /components/com_user/. Zde je nutné upravit tři soubory, a to controller.php, views/register/view.html.php a views/register/tmpl/default.php.

 

Začneme souborem controller.php, kde si na přibližně 197 řádku najdeme funkci register_save(), ve které provedeme přidání následujícího kódu za řádek 226, tak aby tento úsek vypadal následovně:

if (!$user->bind( JRequest::get('post'), 'usertype' )) {



// JError::raiseError( 500, $user->getError());



echo '<div class="error">';



echo JText::_($user->getError());



echo '</div>';



$this->register();



return false;



}



Zde jsme zakomentovali řádek JError:raiseError, a místo toho chybu vypisujeme normálně na obrazovce nad registračním formulářem, protože v opačném případě se nám zobrazí chybová stránka s hláškou v angličtině.

Další změna se bude týkat řádku 267, tedy závěru funkce:

//TODO :: this needs to be replace by raiseMessage



echo '<div class="\'notice\'">';



echo $message;



echo '</div>';



JError::raiseNotice('', $message);



//$this->register();



Tato část je právě zodpovědná za zobrazení informace o úspěšné registraci, kterou vypisujeme mezi tag <div>. Poslední řádek($this->register()) zakomentujeme, protože jinak by se zobrazil registrační formulář, který úspěšně zaregistrovaný uživatel nepotřebuje.

Dále přichází na řadu soubor views/register/view.html.php, ve kterém pouze zakomentujeme řádek 42(přidáme před něj //):

//JHTML::_('behavior.formvalidation');

Tento řádek totiž volá js, který slouží k ověřování toho jestli jsme dobře zadali registrační informace. Způsob implementovaný v Joomle 1.5 ale nefunguje se starými šablonami a proto si kontrolní js, který funguje s oběma typy šablon vložíme do souboru views/register/tmpl/default.php.

Tři řádky původní js funkce Window.onDomReady k ověřování hesla zakomentujeme a místo toho vložíme novou js funkci:

         function submit_regi() {



var form=document.josForm;



var r=new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&]", "i");



var r1=new RegExp("^\S[\S ]{2,98}\S$","i");



var r2=new RegExp("^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$","i");







if (form.name.value == "") {



alert( "<?php echo addslashes( html_entity_decode(JText::_("REGWARN_NAME")) );?>" );



} else if (form.username.value == "") {



alert( "<?php echo addslashes( html_entity_decode(JText::_("REGWARN_UNAME")) );?>" );



} else if (r.exec(form.username.value) || form.username.value.length < 3) {



alert( "<?php echo ( addslashes( html_entity_decode(JText::_("VALID_AZ09_USER"))));?>" );



} else if (form.email.value == "") {



alert( "<?php echo addslashes( html_entity_decode(JText::_("INVALID_EMAIL_ADDRESS")) );?>" );



} else if (!r2.exec(form.email.value)) {



alert( "<?php echo addslashes( html_entity_decode(JText::_("INVALID_EMAIL_ADDRESS")) );?>" );



} else if (form.password.value.length < 6) {



alert( "<?php echo addslashes( html_entity_decode(JText::_("REGWARN_PASS")) );?>" );



} else if (form.password2.value == "") {



alert( "<?php echo addslashes( html_entity_decode(JText::_("REGWARN_VPASS2")) );?>" );



} else if ((form.password.value != "") && (form.password.value != form.password2.value)){



alert( "<?php echo addslashes( html_entity_decode(JText::_("REGWARN_VPASS2")) );?>" );



} else if (r1.exec(form.password.value)) {



alert( "<?php echo addslashes( html_entity_decode(JText::_("REGWARN_PASS")) );?>" );



} else {



form.submit();



}







}







Poslední změna v tomto souboru se týká záměny řádku:

<button class="button validate" type="submit"><?php echo JText::_('Register'); ?></button>



za

<input type="button" class="button" onClick="submit_regi();" value="<?php echo JText::_('Register'); ?>"></input>



Jelikož nám v js funkci pro ověřování hesla přibyly některé nové řetězce je nutné vložit do jazykového souboru komponenty - language/cs-CZ/cs-CZ.com_user.ini - třeba někde na konec tyto řádky:

REGWARN_NAME=Prosím zadejte vaše jméno.



REGWARN_UNAME=Zadejte prosím uživatelské jméno.



VALID_AZ09_USER=Prosím zadejte platné uživatelské jméno, obsahující 0-9,a-z,A-Z

Po této drobné úpravě by již registrace měla fungovat i pro starší šablony. Pokud si na úpravu sami netroufáte v sekci Ke stažení je dispozici patch pro Joomlu 1.5.2 , který stačí rozbalit v hlavním adresáři Joomly.

Informace o autorovi Filip Bartmann

Líbil se vám článek?
(0 hlasů)
Artio JoomSEF 3.0
Předchozí článek autora Filip Bartmann  05.04.2008 116
Artio JoomSEF 3.0
Článek uživatele
Pokud nedočkavě očekáváte SEF komponentu pro Joomlu 1.5, tak mám pro vás dobrou zprávu, právě...
Joomla 1.5.5[Mamni]
Následujicí článek autora Filip Bartmann  05.04.2008 116
Joomla 1.5.5[Mamni]
Článek uživatele
Právě se rozhlížím po webu a při svých toulkách jsem navštívil i web joomla.org a hned jako...

Štítky:

25.01.2012 10:39 59 zhlédnutí
Novinky
Joomla 1.7.4
Joomla 1.7.4

Vyšla opravná verze Joomly 1.7.4

srVětšina uživalů by měla raději aktualizovat na právě vydanou Joomlu...

25.01.2012 10:28 65 zhlédnutí
Novinky
Joomla 2.5 vydána
Joomla 2.5 vydána

j25Joomla, která je nejpoužívanějším systémem pro správu obsahu od www stránek po intranety, vyšla ve verzi 2.5....

15.12.2011 11:51 58 zhlédnutí
Novinky
Novinky v knihovně Joomly
Novinky v knihovně Joomly

Byla vydána nová verze knihoven Joomly ve verzi 11.3, která budou součástí nové Joomlu 2.5.

Mimo...

05.12.2011 11:26 70 zhlédnutí
Novinky
Joomla 2.5 se blíží
Joomla 2.5 se blíží

Právě byly do Joomly začleněny knihovny ve verzi 11.3 a zbývá již jenom několik týdnu do vydání...

13.07.2010 12:05 67 zhlédnutí
Novinky
Joomla 1.6 Beta 5
Joomla 1.6 Beta 5

Dneska vyšla 5 beta verze Joomly 1.6. Tato verze není určena pro produkční stránky. Je určena...

29.06.2010 12:04 64 zhlédnutí
Novinky
Joomla 1.6 Beta 4
Joomla 1.6 Beta 4

Dneska vyšla další v pořadí již 4 beta verze připravované Joomly 1.6. Tato verze není určena pro...

15.06.2010 11:13 59 zhlédnutí
Novinky
Vyšla Joomla 1.6 beta 3
Vyšla Joomla 1.6 beta 3

Dneska podle plánu vyšla už třetí beta verze Joomly 1.6. Tato verze je beta a není určena pro...

28.04.2010 10:49 64 zhlédnutí
Novinky
Microsoft bude příspívat do Joomly
Microsoft bude příspívat do Joomly

Ano, tentokrát se nejedná o aprílový vtip, ale o skutečnost. Následuje překlad originálu textu od Sama...

28.04.2010 10:14 54 zhlédnutí
Novinky
Opravná Joomla 1.5.17
Opravná Joomla 1.5.17

Jak bylo avizováno, tak dneska vyšla Joomla 1.5.17 s kódovým názvem Wojmamni ama woobusani, která...

24.04.2010 11:19 74 zhlédnutí
Novinky
Joomla 1.5.16
Joomla 1.5.16

Včera (23. dubna) vyšla po 6 měsících nová verze Joomly tentokráte s číslem 16 a kódovým názvem...

14.11.2009 10:23 63 zhlédnutí
Novinky
Údržba JoomlaCode
Údržba JoomlaCode

Díky tomu, že JoomlaCode (místo, kde je uložen kód Joomly a různých rozšíření) dostal nový server, se v...

28.07.2008 10:57 68 zhlédnutí
Novinky
Joomla 1.5.5[Mamni]
Joomla 1.5.5[Mamni]

Právě se rozhlížím po webu a při svých toulkách jsem navštívil i web joomla.org a hned jako první...

05.04.2008 20:34 117 zhlédnutí
Vývojářské tipy
Registrace v Joomle 1.5 a staré šablony
Registrace v Joomle 1.5 a staré šablony

Pokud používáte novou Joomlu! 1.5.2 a ještě nemáte k dispozici šablonu psanou přesně pro tuto...

13.03.2008 11:35 60 zhlédnutí
Novinky
Artio JoomSEF 3.0
Artio JoomSEF 3.0

Pokud nedočkavě očekáváte SEF komponentu pro Joomlu 1.5, tak mám pro vás dobrou zprávu, právě...

08.03.2008 12:57 60 zhlédnutí
Novinky
JCE 1.5 beta 1
JCE 1.5 beta 1

Na stránkách editoru JCE se můžeme dočíst o slibované a mnoha uživateli vyhlížené verzi editoru

22.02.2008 18:17 76 zhlédnutí
Novinky
Joomla! 1.0.15
Joomla! 1.0.15

Vyšla nová Joomla! 1.0.15 a opravuje jedinou chybu, která umožňuje spuštění cizího souboru. Chybě je jí...

20.02.2007 14:29 93 zhlédnutí
Vývojářské tipy
Úprava vzhledu zobrazení článků
Úprava vzhledu zobrazení článků
Protože se tady objevilo několik dotazů ohledně toho, jak lépe naformátovat zobrazení článků, tak mě to
...
28.12.2005 13:28 80 zhlédnutí
Rozšíření a eshopy pro Joomla!
Profesionální statistika
Profesionální statistika
Pokud jste dosud hledali statistiku pro Joomla/Mambo a dosud jste neuspěli, tak vám může pomoct...
19.12.2005 16:55 61 zhlédnutí
Novinky
Co nového chystá Joomla 1.1
Co nového chystá Joomla 1.1
Po té co jsem se začal zajímat co nového chystá nová verze Joomly 1.1 a několik vývojových kompilací jsem
...

Nové články

Článek uživatele
Novinky
Co nového přináší Joomla 3.9.2?
Článek uživatele
Začínáme s Joomla!
sef url joomla
Článek uživatele
Rozšíření a eshopy pro Joomla!
Filtrování položek v nastavení Joomla!

Související články