Joomla 5.1.0 a Joomla 4.4.4 (17 dub 2024)
Dnes byla uvolněna nová verze Joomla 5.1.0, společně s Joomla 4.4.4. Tato verze přináší spoustu nových funkcí, vylepšení v oblasti bezpečnosti a kódu a díky těmto vylepšením i vyšší rychlost.
Důležité Zobrazení jména uživatele
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
Pokročilý 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
Pokročilý 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.