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

19.03.2009 01:00 431 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  17.02.2009 376
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  16.12.2011 489
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 250 zhlédnutí
Novinky
Joomla 3.1.4 Hotfix
12.06.2013 11:42 222 zhlédnutí
Novinky
Co nového v češtině pro Joomla
16.12.2011 18:39 489 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 432 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 376 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 371 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
Komunita Joomlaportal.cz
Petr Coufal
Článek uživatele
Novinky
Vyšla Joomla! 4 Alpha 12
Článek uživatele
Rozšíření a eshopy pro Joomla!
Phoca Cart

Související články