Důležité Zobrazení jména uživatele
22. led 2013 19:37 #102647
Dobrý večer,
potřeboval bych prosím poradit s náledujicím:
Chtěl bych aby se uživateli po přihlášení na stránky www.rob-pce.cz zobrazovalo např. vedle datumu jeho jméno a po odhlášení zase zmizelo.
Předem moc děkuji
potřeboval bych prosím poradit s náledujicím:
Chtěl bych aby se uživateli po přihlášení na stránky www.rob-pce.cz zobrazovalo např. vedle datumu jeho jméno a po odhlášení zase zmizelo.
Předem moc děkuji
22. led 2013 20:14 #102654
Joomla! pro každého
Odpověď od ghost

Zkušený uživatel
tak asi nejjednodussi je to dle me:
<?php echo JText::sprintf('Vítej ', htmlspecialchars($user->get('name'))); ?>
vykuchano z mod_login
<?php echo JText::sprintf('Vítej ', htmlspecialchars($user->get('name'))); ?>
vykuchano z mod_login
Joomla! pro každého
Poděkovali: Pavel
22. led 2013 21:51 #102666
Pokud máte vícejazyčný web
a do jazykových souborů šablony (šablona/languages/) si přidejte
Odpověď od Cony

Moderátor
Code:
echo JText::sprintf('Vítej %s', htmlspecialchars(JFactory::getUser()->get('name')));
Code:
echo JText::sprintf('TPL_MOJESABLONA_WELCOME', htmlspecialchars(JFactory::getUser()->get('name')));
Code:
TPL_MOJESABLONA_WELCOME="Vítej %s"
Poděkovali: Pavel
23. led 2013 09:22 #102693
Odpověď od Pavel

Zkušený uživatel
Moc děkuji pomoc, zase jsem o něco málo chytřejší,
ale protože nejsem tak znalý PHP , ak bych seVás zkušenějších chtěl zeptat, v čem je rozdíl mezi :
a nebo když napíšu :
ale protože nejsem tak znalý PHP , ak bych seVás zkušenějších chtěl zeptat, v čem je rozdíl mezi :
Code:
echo JText::sprintf('Vítej %s', htmlspecialchars(JFactory::getUser()->get('name')));
Code:
echo 'Vítej ' . htmlspecialchars(JFactory::getUser()->get('name')));
23. led 2013 10:02 - 23. led 2013 10:14 #102695
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ě.
Odpověď od karel

Zkušený uživatel
docs.joomla.org/JText/1.6
nevyužitá možnost překladu v jiných jazycích, tj JText zbytečný:
rozdíl mezi sprintf a echo (v tomto případě) moc podstatný není:
stackoverflow.com/questions/5656615/php-sprintf-vs-echo
"systémovější" je řešení, které napsal Cony - #102666
nevyužitá možnost překladu v jiných jazycích, tj JText zbytečný:
Code:
echo JText::sprintf('Vítej %s', htmlspecialchars(JFactory::getUser()->get('name')));
Code:
echo 'Vítej ' . htmlspecialchars(JFactory::getUser()->get('name')));
rozdíl mezi sprintf a echo (v tomto případě) moc podstatný není:
stackoverflow.com/questions/5656615/php-sprintf-vs-echo
"systémovější" je řešení, které napsal Cony - #102666
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ě.
Poděkovali: Pavel
27. úno 2018 12:21 #134458
Odpověď od Milan

Zkušený uživatel
Přeji pěkný den, zkouším vypsat jméno přihlášeného uživatele, dle tohoto příkladu.
Vložil jsem php
přímo do indexu a funguje OK. Problém je ale v tom, že když není nikdo přihlášený tak se stále vypisuje 'Vítejte'. Jedině co mne napadá tak kód vložit do modulu 'vlastní obsah' a tomu nastavit práva.
Existuje prosím nějaká možnost jak toto ošetřit přímo v php kódu?
Ještě bych se chtěl zeptat, mám vícejazyčný web a nikde jsem v template nenašel soubory languages. Kam bych tedy měl vložit toto?
Moc děkuji Milan
Vložil jsem php
Code:
echo JText::sprintf('Vítej %s', htmlspecialchars(JFactory::getUser()->get('name')));
Existuje prosím nějaká možnost jak toto ošetřit přímo v php kódu?
Ještě bych se chtěl zeptat, mám vícejazyčný web a nikde jsem v template nenašel soubory languages. Kam bych tedy měl vložit toto?
Code:
TPL_MOJESABLONA_WELCOME="Vítej %s"
Moc děkuji Milan
27. úno 2018 14:07 #134461
Odpověď od Cony

Moderátor
Jazykové soubory v šabloně mají být přímo v adresáři šablony, podadresář language. Tj. např. /templates/moje_sablona/language/cs-CZ/cs-CZ.moje_sablona.ini
Pokud jej tam nemáte, jednoduše je vytvořte a konstantu do něj zapište.
Vypsání hlášky by pak mělo být
a s kontrolou na přihlášení
Pokud jej tam nemáte, jednoduše je vytvořte a konstantu do něj zapište.
Vypsání hlášky by pak mělo být
Code:
echo JText::sprintf('TPL_MOJESABLONA_WELCOME', htmlspecialchars(JFactory::getUser()->get('name')));
a s kontrolou na přihlášení
Code:
if (!JFactory::getUser()->guest)
echo JText::sprintf('TPL_MOJESABLONA_WELCOME', htmlspecialchars(JFactory::getUser()->get('name')));
27. úno 2018 15:50 - 27. úno 2018 15:52 #134462
Odpověď od Milan

Zkušený uživatel
Přeji pěkný den a děkuji za odpověď.
Pokud jsem postupoval a pochopil problematiku správně, tak mám vytvořenou cestu:
templates/moje-sablona/language/cs-CZ/cs-CZ.moje-sablona.ini
to samé mám pro anglickou verzi templates/moje-sablona/language/en-GB/en-GB.moje-sablona.ini
a v souboru cs-CZ.moje-sablona.ini
je TPL_MOJESABLONA_WELCOME="Vítej %s"
a v souboru en-GB.moje-sablona.ini
je TPL_MOJESABLONA_WELCOME="Velcome %s"
a v indexu mám
Bohužel výpis po přihlášení vypadá takto: TPL_MOJESABLONA_WELCOME
Ještě jednou, děkuji Milan
Pokud jsem postupoval a pochopil problematiku správně, tak mám vytvořenou cestu:
templates/moje-sablona/language/cs-CZ/cs-CZ.moje-sablona.ini
to samé mám pro anglickou verzi templates/moje-sablona/language/en-GB/en-GB.moje-sablona.ini
a v souboru cs-CZ.moje-sablona.ini
je TPL_MOJESABLONA_WELCOME="Vítej %s"
a v souboru en-GB.moje-sablona.ini
je TPL_MOJESABLONA_WELCOME="Velcome %s"
a v indexu mám
Code:
<?php if (!JFactory::getUser()->guest) echo JText::sprintf('TPL_MOJESABLONA_WELCOME', htmlspecialchars(JFactory::getUser()->get('name'))); ?>
Bohužel výpis po přihlášení vypadá takto: TPL_MOJESABLONA_WELCOME
Ještě jednou, děkuji Milan
28. úno 2018 00:19 #134470
Odpověď od Cony

Moderátor
Vypadá to v pořádku, je ini soubor uložen v UTF8? Zkuste zapnout ladění chyb jazyku. Zdá se, že se jazykový soubor nenačítá, nebo je v něm nějaký překlep.
28. úno 2018 09:33 - 28. úno 2018 09:37 #134474
Odpověď od Milan

Zkušený uživatel
Přeji pěkný den, děkuji za pomoc.
soubory ini jsou v UTF8, znovu jsem překontroloval překlepy a nic jsem nenašel. Ladění chyb jsem zapnul a výpis jména vypadá takto ??TPL_MOJESABLONA_WELCOME??
To asi značí, že TPL_MOJESABLONA_WELCOME je neznámá.
Ještě jsem zjistil, že jsem ve ve složkách neměl index.html, který vytváří automaticky joomla, tak jsem je doplnil. Nevím zda to má s problematikou souvislost ale na výsledku se to nijak neprojevilo.
Děkuji Milan
soubory ini jsou v UTF8, znovu jsem překontroloval překlepy a nic jsem nenašel. Ladění chyb jsem zapnul a výpis jména vypadá takto ??TPL_MOJESABLONA_WELCOME??
To asi značí, že TPL_MOJESABLONA_WELCOME je neznámá.
Ještě jsem zjistil, že jsem ve ve složkách neměl index.html, který vytváří automaticky joomla, tak jsem je doplnil. Nevím zda to má s problematikou souvislost ale na výsledku se to nijak neprojevilo.
Děkuji Milan
28. úno 2018 09:50 #134476
Odpověď od Milan

Zkušený uživatel
Omlouvám se, dole na konci stránky jsem našel toto
JROOT/language/cs-CZ/cs-CZ.lib_joomla.ini : error(s) in line(s) 226
Děkuji, Milan
JROOT/language/cs-CZ/cs-CZ.lib_joomla.ini : error(s) in line(s) 226
Děkuji, Milan
28. úno 2018 11:26 #134479
I'm sorry, my responses are limited...you must ask the right questions.
Odpověď od Bong

Moderátor
OT. Ta chyba v joomla.ini s tim nesouvisi.
Ale neni treba zrovna pro tuhle hlasku vytvaret vlastni preklad. Presne toto jiz obsahuje preklad Joomly, takze kdyz zadate retezec z prekladu Joomly, bude fungovat a take se nemusite starat o jazykove mutace.
Ale neni treba zrovna pro tuhle hlasku vytvaret vlastni preklad. Presne toto jiz obsahuje preklad Joomly, takze kdyz zadate retezec z prekladu Joomly, bude fungovat a take se nemusite starat o jazykove mutace.
I'm sorry, my responses are limited...you must ask the right questions.