
Przy realizacji kolejnego projektu opartego o Joomla klientka zażyczyła sobie datę utworzenia wpisu w aktualnościach, jako że Joomla domyślnie nie posiada takiej funkcjonalności musiałem trochę pokombinować.
Zmiany będą się odbywały w module: mod_article_news (modules/mod_article_news)
Otwieramy plik: modules/mod_article_news/helper.php i przechodzimy do linii 82, powinno być tam coś takiego:
$item->introtext = JHtml::_('content.prepare', $item->introtext);
//new
if (!$params->get('image')) {
$item->introtext = preg_replace('/<img[^>]*>/', '', $item->introtext);
}
Dodajemy następujące linie:
$item->created = JHtml::_('date', $item->created, JText::_('DATE_FORMAT_LC4'));
$item->modified = JHtml::_('date',$item->modified, JText::_('DATE_FORMAT_LC4'));
$item->publish_up = JHtml::_('date',$item->publish_up, JText::_('DATE_FORMAT_LC4'));
i otrzymujemy:
$item->introtext = JHtml::_('content.prepare', $item->introtext);
$item->created = JHtml::_('date', $item->created, JText::_('DATE_FORMAT_LC4'));
$item->modified = JHtml::_('date',$item->modified, JText::_('DATE_FORMAT_LC4'));
$item->publish_up = JHtml::_('date',$item->publish_up, JText::_('DATE_FORMAT_LC4'));
//new
if (!$params->get('image')) {
$item->introtext = preg_replace('/<img[^>]*>/', '', $item->introtext);
}
Nie znam się na za bardzo na nomenklaturze, ale na chłopski rozum, jest to przygotowanie obiektu przechowującego dane artykułu, linie które dodaliśmy odpowiadają za przygotowanie daty w odpowiednim formacie(DATE_FORMAT_LC4).
Kolejnym krokiem jest wyświetlenie dat w szablonie modułu, w tym celu przechodzimy do pliku modules/mod_article_news/tmpl/_item.php i w praktycznie dowolnym miejscu wstawiamy kod:
// Data utworzenia
<?php echo $item->created; ?>
// Data modyfikacji
<?php echo $item->modified; ?>
// Data publikacji
<?php echo $item->publish_up; ?>
I gotowe, oczywiście nie musimy wyświetlać wszystkich dat, oraz możemy je w dowolny sposób ostylować.
I mała uwaga – dostępne formaty dat są zawarte w pliku z tłumaczeniem: language/en-GB/en-GB.ini lub, dla języka polskiego: language/pl-PL/pl-PL.ini w liniach 223-228:
DATE_FORMAT_LC="l, d F Y"
DATE_FORMAT_LC1="l, d F Y"
DATE_FORMAT_LC2="l, d F Y H:i"
DATE_FORMAT_LC3="d F Y"
DATE_FORMAT_LC4="Y-m-d"
DATE_FORMAT_JS1="y-m-d"
Możemy wybrać dowolny z nich, lub zmodyfikować.
Powyższy sposób został sprawdzony na Joomli w wersji 1.7.3, ale powinien działać na wszystkich wersjach począwszy od 1.6