Přihlásit se

Joomla 6.0

Dne 14. října 2025 bylo oficiálně vydáno Joomla 6.0 (kódové jméno Kuimarisha) společně s Joomla 5.4 (Kutegemea). Joomla 5.1 přinesla zabezpečené TUF aktualizace, ale s Joomla 5.4 / 6.0 přichází automatické aktualizace jádra, které budou probíhat bezpečně a bez nutnosti manuálního zásahu.

Registrace nového uživatele

27. led 2013 23:39 #103036
Registrace nového uživatele od Pavel
Zkušený uživatel
Dobrý večer,
potřeboval bych prosím poradit s následujicím.
V registračním formuláři bych chtěl před položku JMÉNO přidat položku PŘIJMENÍ a pak tyto dvě položky sloučit v jednu - JMÉNO , která se ukládá při registraci do DB. Prohledávám soubory, ale nikde jsem zatím nenarazil kde se vytváří registrační formulář. Můžete mi prosím někdo poradit jak na to?
Předem MOC děkuji.

28. led 2013 00:00 #103037
Odpověď od Cony
Moderátor
To jste si nevymyslel úplně jednoduchý úkol. Šablona registrace je v šaboně v html/com_users/registration/, pokud tam není, odkopírujte si tam obsah adresáře /components/com_users/views/registration/tmpl/.

Když se ale do šablony (souboru default.php) podíváte, zjístíte že jednotlivá pole v ní definovaná nejsou, v Joomla 2.5 se definují pomocí XML, které je v adresáři /components/com_users/models/forms/, to však v rámci šablony nezměníte.

Pole můžete do šablony dopsat ručně, nebo dodat pomocí pluginu. V obou situacích ale budete muset ještě řešit to sloučení dvou polí do jednoho. opět buď na straně serveru pomocí pluginu, nebo na straně klienta pomocí Javascriptu.

Nepořešíte tím ale editaci již založeného účtu, znovu nahrání formuláře, když se nepodaří uložit atd, atd... Zvážil bych nutnost takovéto úpravy, myslím že je to příliš malý užitak za hodně vydané energie.

28. led 2013 00:08 #103038
Odpověď od Pavel
Zkušený uživatel
To to umí komponenta Community Builder, ale ta se mi nechce instalovat. Při editaci účtu se pak zobrazuje jako jedno pole - standartní JMÉNO, které je složeno z přijmení a jména.

28. led 2013 00:14 #103039
Odpověď od Cony
Moderátor
Určitě jsou i další komponenty, různé eshopy apod, ale asi jsou zbytečně složité a pro stránky zátěžové. Jak jsem psal, nejjednodušší by asi bylo upravit šablonu - ručně přidat pole pro jméno a příjmení, z klasického pole pro jméno udělat hidden a vyplnit jej Javaskriptem v okamžiku odeslání formuláře.

28. led 2013 00:23 - 28. led 2013 00:27 #103040
Odpověď od Pavel
Zkušený uživatel
Jak přidat další pole jsem již našel, ale pak jsem si myslel, že půjde jen napsat jen příkaz na spojení dvou řetězců v jeden velicejednoduše napsané něco jako:
Code:
$name:=$lastname . " " . $name
, ale to je asi blbost co ? :(

28. led 2013 00:46 - 28. led 2013 00:47 #103044
Odpověď od Pavel
Zkušený uživatel
Joomla provádí kontrolu jména jestli není v DB, takže mě by stačilo zkontrolovat, jestli pole vyplněno a přiřadit ho ke jménu.

28. led 2013 07:30 - 28. led 2013 07:34 #103045
Odpověď od karel
Zkušený uživatel
Asi to máte trochu popletené:
- v Joomle 2.5.x jsou pole při vytváření uživatele: (Jméno; Přihlašovací jméno).
- se správným operátorem přiřazení by správně bylo:
Code:
$name = $lastname . " " . $name;

- co se týče unikátnosti, tak unikátní musí být login (username, tj Přihlašovací jméno).

Jméno samotné (jméno, příjmení) unikátní být nemusí (z logiky věci - Honzů Nováků může být hodně, musí se ale rozlišit loginem).

Znáte-li řešení, sdělte ho - pomůžete ostatním při řešení stejného problému, i případný "rádce" bude vědět, poradil-li správně nebo špatně.

28. led 2013 08:54 #103046
Odpověď od Pavel
Zkušený uživatel
Dobrý den,
pomotané to nemám, jenom jsem si myslel a jak je vidět tak špatně, že se kontroluje i Jméno, to že uživatelské jméno je unikátní to vím. Ale potřeboval bych prosím poradit, ve kterém souboru a jakým přikazem se čte Jméno z registračního formuláře po jeho odeslání než se zapíše do DB.

28. led 2013 10:18 #103049
Odpověď od Cony
Moderátor

Kopecek napsal: Jak přidat další pole jsem již našel, ale pak jsem si myslel, že půjde jen napsat jen příkaz na spojení dvou řetězců v jeden velicejednoduše napsané něco jako:

Code:
$name:=$lastname . " " . $name
, ale to je asi blbost co ? :(


Vidím Pascal :-) - v PHP je přiřazení pouze = a ne :=.

Jinak v zásadě ano, takto by to nějak šlo, ale otázkou je právě kde. Buď by jste musel změnit soubory Joomly, a pamatovat na to při každém upgrade (soubor /components/com_users/models/registration.php funkce register), nebo to spojit již na klientovi pomocí JS, jak jsem psal, a nebo si napsat jednoduchý plugin, který by to spojoval ještě dřív, než se to dostane do té ukládací funkce. Z hlediska náročnosti mi přijde nejjednodušší ten JS.
Poděkovali: Pavel

28. led 2013 10:30 #103050
Odpověď od Pavel
Zkušený uživatel
Moc děkuji,
doplnil jsem to do fukce register, holt si na to při aktualizaci budu muset myslet
Ještě jednou moc děkuji a přeji všem hezký den.
Pavel

07. úno 2013 11:08 #103634
Odpověď od termit789
Uživatel
Dobrý den potřebuji z registrace odstranit tyto pole
Adresa 2: (volitelné)
Kraj: (volitelné)
Webová stránka (volitelné)
Oblíbená kniha: (volitelné)
O mě: (volitelné)
Datum narození

Prošel jsem xml soubory v /components/com_users/models/forms/ ale nikde jsem tyto pole nevidel.Neví někdo kde to najít ? Díky Radek

07. úno 2013 12:15 #103640
Odpověď od Bong
Moderátor
Proč se šťouráte v systémových souborech? Nastavte si vše potřebné přímo v administraci, od toho ji tam máte. To co požadujete najdete v pluginu User - Profil.

I'm sorry, my responses are limited...you must ask the right questions.

07. úno 2013 12:59 #103644
Odpověď od Pavel Šťastný
Pokročilý uživatel
Kopecek : podle toho co píšete...tak chcete aby uživatelé při registraci vyplnili JMÉNO a PŘÍJMENÍ a ve výsledku to spojíte zase do jedné položky a uložíte do DB ?

nestačilo by spíš v jazykovém souboru přepsat konstantu "COM_USER_REGISTER_NAME_LABEL" ??
případně to vložit do ROZŠÍŘENÍ - SPRÁVCE JAZYKŮ - PŘEPSÁNÍ....tím se to zachová i po upgrade jazykového balíčku...

07. úno 2013 13:23 #103645
Odpověď od termit789
Uživatel
Bong: Díky moc mě ani nenapadlo to tam hledat úžasné a jednoduché děkuji.

Powered by Fórum