Označení nových článků pro přihlášené v modulu "Poslední novinky"

19.03.2009 01:00 143 zhlédnutí
Autor článku
HonzaKr
Článek uživatele

Jak jsem slíbil v minulém článku tak předkládám malý návod jak upravit zobrazení v modulu "poslední novinky" tak aby pro přihlášené uživatele byl před názvem článku nápis "Nový". Tento nápis se objeví pouze v případě, že je datum posledního přihlášení starší než datum vytvoření článku. Pro nepřihlášené se zobrazení posledních novinek nezmění.

Celá úprava vychází z úpravy šablony (viz. články Včera, dnes a zítra ... a Označení nových článků pro přihlášené), ale navíc je nutný zásah do jádra J!. Nejsem přívržencem zásahů do jádra, ale v tomto případě jsem se k této úpravě přiklonil. Úprava by šla provést bez zásahu do jádra, ale bylo by nutné zopakovat SQL dotazy v souborech šablony a to by zbytečně prodlužovalo čas běhu celého scriptu. 

Úprava jádra Joomla

V souboru ..modules/mod_latestnews/helper.php přidáme do indexového pole lists novou proměnou created, která ponese informaci o datumu vytvoření článku.

$i        = 0;
$lists    = array();
foreach ( $rows as $row )
{
if($row->access <= $aid)
{
$lists[$i]->link = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid));
} else {
$lists[$i]->link = JRoute::_('index.php?option=com_user&view=login');
}
$lists[$i]->text = htmlspecialchars( $row->title );
$lists[$i]->created = $row->created ;
$i++;
}


Úprava zobrazení v modulu

Vytvoříme nový adresář ..templates/rhuk-milkyway/mod_latestnews a do něho překopírujeme dva soubory default.php a index.html z adresáře ..modules/mod_latestnews/tmpl. Script v souboru default.php upravíme dle následujícího výpisu:       

<?php // no direct access
defined('_JEXEC') or die('Restricted access'); ?>
<?php $uzivatel =& JFactory::getUser(); ?>
<ul class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
<?php foreach ($list as $item) :  ?>
<li class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
<?php if (($uzivatel->id != 0) && ((strtotime($uzivatel->lastvisitDate)+ Date("Z")) < strtotime($item->created))) : ?>
<span class="newcontents_mod">
<?php echo JText::_( 'NEW' ); ?>
</span>
<?php endif; ?>

<?php echo $item->link; ?>
<a xhref="<?php echo $item->link; ?>" class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
<?php echo $item->text; ?></a>
</li>
<?php endforeach; ?>
</ul>


Ani v tomto případě není nutné upravovat ani zprovozňovat jazykový soubor šablony, neboť proměná „NEW“ již existuje v jazykovém souboru J!.

Ještě zbývá přidat novou třídu do css souboru ..\templates\rhuk_milkyway\css\template.css. Třída obsahuje pro ukázku pouze deklaraci pro změnu barvy textu.

.newcontents_mod {color: #cc0033;}

A je to ....

Pouze nezapomeňte, že byl proveden zásah do jádra, proto při upgrade J! bude nutné znovu provést úpravu jádra. Zde uvedená úprava byla provedena na verzi J! 1.5.9.

Informace o autorovi HonzaKr

Líbil se vám článek?
(0 hlasů)
Označení nových článků pro přihlášené
Předchozí článek autora HonzaKr  19.03.2009 143
Označení nových článků pro přihlášené
Článek uživatele
Nedávno v diskuzi někdo hledal komponentu pro J!1.5, která by uměla vypsat nově přidané  články...
MySQL server has gone away
Následujicí článek autora HonzaKr  19.03.2009 143
MySQL server has gone away
Článek uživatele
Už jste se určitě setkali s problémem, že nejdou některá objemnější rozšíření nainstalovat....

Štítky:

29.07.2013 10:53 97 zhlédnutí
Novinky
Joomla 3.1.4 Hotfix
12.06.2013 11:42 72 zhlédnutí
Novinky
Co nového v češtině pro Joomla
16.12.2011 18:39 135 zhlédnutí
Vývojářské tipy
MySQL server has gone away
MySQL server has gone away

obr clanek t

Už jste se určitě setkali s problémem, že nejdou některá objemnější rozšíření nainstalovat. Začněte...

19.03.2009 01:00 144 zhlédnutí
Vývojářské tipy
Označení nových článků pro přihlášené v modulu "Poslední novinky"
Označení nových článků pro přihlášené v modulu "Poslední novinky"

Jak jsem slíbil v minulém článku tak předkládám malý návod jak upravit zobrazení v modulu...

17.02.2009 01:00 132 zhlédnutí
Vývojářské tipy
Označení nových článků pro přihlášené
Označení nových článků pro přihlášené

Nedávno v diskuzi někdo hledal komponentu pro J!1.5, která by uměla vypsat nově přidané  články od...

03.02.2009 22:09 140 zhlédnutí
Vývojářské tipy
Zobrazení včera, dnes a zítra ...
Zobrazení včera, dnes a zítra ...

Návod jak upravit zobrazení datumu v záhlaví článku v Joomla 1.5


Někteří uživatelé J! by rádi...

Nové články

Článek uživatele
Novinky
Co nového přináší Joomla 3.9.2?
Článek uživatele
Začínáme s Joomla!
sef url joomla
Článek uživatele
Rozšíření a eshopy pro Joomla!
Filtrování položek v nastavení Joomla!

Související články