Přihlásit se

Akeeba engage

05. srp 2022 21:15 #146786
Odpověď od Ainny
Já se asi špatně vyjadřuju. Mluvíme o tom samém? Přiládám screen. Jak můžete vidět, u komentářů v modulu je dnešní datum. Zítra tam bude zítřejší. Není tam datum, kdy ty komentáře byly napsané. O to mi jde. O ten modul. V jeho nastavení toho moc není a s datem to nic společného nemá. Viz.. screen.
Každopádně díky za reakce. Zítra odjíždím na dovolenou, tak třeba mi odpočinek pomůže a popasuju se s tím. :^)
Přílohy:

05. srp 2022 23:29 - 05. srp 2022 23:29 #146789
Odpověď od Rudolf
Ano, já myslím že se bavíme pořád o tom samém, ale pořád není náhled z nastavení administrace komponenty, ze které se informace o komentářích načítají == tedy i včetně data vytvoření komentáře.

Klidně přiložím screen z kódu (už jsem ho sem psal), a pokud to není jasné:
Code:
$comment->created_on

je informace o datu vytvoření komentáře, ne datu článku nebo dynamicky měnícím se datu u komentáře (aspoň to tak logicky vypadá).
Prostě zde chybí vidět co máte v nastavení komponenty, to může taky ovlivnit výsledek zobrazení v modulu, protože informace se generují z komponenty.

A přitom je to tak jednoduché jít do nastavení komponenty, udělat screen a přiložit sem, že jo? :)

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

05. srp 2022 23:54 - 06. srp 2022 00:01 #146790
Odpověď od Rudolf
Ok,
mám u Vás hodinu analýzy a vyřešení:

1. V šabloně modulu je chyba, která změní čas vytvoření komentáře na aktuální čas.
2. Chybu napravíte tak, že jdete do souboru PHP - modules/mod_engage_latest/tmpl/default.php
3. Najdete řádek:

Code:
(new \Joomla\CMS\Date\Date($comment->created_on))->format(Text::_('DATE_FORMAT_LC2'))


a změníte ho na

Code:
(new \Joomla\CMS\Date\Date($comment->created))->format(Text::_('DATE_FORMAT_LC2'))


Výsledek zde:
joomla4.easy.minion.cz/?view=article&id=1:clanek-cs-cz&catid=8

P.S.
Změna časového pásma nic nepomůže a čas mám pořád posunutý o dvě hodiny v administraci v seznamu komentářů, tak v modulu latest.
Tož tam bude taky nějaký nestandardní výpočet nerespektující Joomla config nastavení.
Pohledem do DB vidím stejně čas Gibraltar, i když v nastavení Joomla je Praha - tož tam mají taky chybu v modelu.

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla
Přílohy:

06. srp 2022 01:23 #146791
Odpověď od Rudolf
Ten posun času je teda mazec :)

Zatímco pod článkem na zobrazení správného času jsou použité funkce komponenty a počítá se s nastavením TimeZone z nastavení Joomla (vše si řeší ViewHTML),
v modulu je to odfláklé a načítá se jen čistě datum uložený v DB, který je prostě pořád ve tvaru UTC == Gibraltar.

Pro správné zobrazení je třeba do hlavičky tmpl přidat:
Code:
//Fix use Akeeba\Component\Engage\Administrator\Helper\UserFetcher; use Joomla\CMS\Date\Date; use Joomla\CMS\User\User; use DateTimeZone;

a v kódu ve foreachi dále:
Code:
        //Fix         $user = !empty($comment->created_by) && empty($comment->name) ? UserFetcher::getUser($comment->created_by) : new User();         $siteTimezone = Factory::getApplication()->get('offset', 'UTC');         $zone = $user->guest ? $siteTimezone : $user->getParam('timezone', $siteTimezone);         $user->userTimezone = new DateTimeZone($zone);             $commentDate   = (new Date($comment->created))->setTimezone($user->userTimezone);         //END

a nakonec upravit inkriminovaný řádek na
Code:
$commentDate->format(Text::_('DATE_FORMAT_LC5'), true)

Výsledek je pořád na stejném místě v pravém sloupci:
joomla4.easy.minion.cz/?view=article&id=1:clanek-cs-cz&catid=8

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

06. srp 2022 08:27 #146792
Odpověď od Ainny
Ty kráso, koukám, že vám dlužím víc než hodinu času. Na tohle by můj systém pokus/omyl nestačil. Díky moc. Máte to u mě.
Jasně, že je jednoduché jít do nastavení komponenty a udělat screeny, ale to bych nesměla mít svoji hlavu a v ní přesvědčení, že tam nic o čase není, takže je to zbytečné. A pokud bude nějaké příště, poslechnu na první dobrou. Občas mi ta umanutost působí problémy.
Teď už asi jenom pro zajímavost posílám ony screeny z administrace. Nastavovala jsem jenom první dva. Druhé dva jsou tak, jak se nainstalovaly.

Ještě jednou posílám velikánský dík a po dovolené (nebo na dovolené) se s tím poperu.

P.S. Na jednu stranu jsem ale ráda, že ten posun času není "u mě", protože to už bych si připadala jako mega blbka.

06. srp 2022 09:19 #146793
Odpověď od Rudolf
Umanutost je skvělá vlastnost a ještě lepší když vede k plodné diskusi :)
Díky ní jsem se včera kousnul a celou komponentu nainstaloval a prozkoumal sám...

Díky za obrázky, opravdu tam nic není, chyba je v modulu, který nemá předpokládané funkce a jednu chybu programovou.
Mohl bych to poslat výrobci, uvidíme.

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

Powered by Fórum