Právě prohlížíte: Úvod Články Vývojářské tipy a triky Zobrazení "Dnes" a "Včera" místo data u článků

17.
srpna
2008
Zobrazení "Dnes" a "Včera" místo data u článků Tisk Email
Napsal Kryštof Korb   
Chcete zvýraznit nejnovější články? Když místo data vytvoření vypíšete "Dnes" nebo "Včera", určitě to upoutá daleko více. Jak na to?

Postup je více než jednoduchý. Stačí v souboru components/com_content/content.html.php najít funkci CreateDate, která je někde kolem osmistého řádku. Poté je třeba pod předefinování data ve správném formátu ($create_date = mosFormatDate( $row->created );) přidat následující řádky:

//Hack for showing "Today" and "Yesterday" by Kryštof Korb | Copyright August 2008
$lang = "cz"; //Language en, cz, fr

$today['en'] = 'Today!';
$today['cz'] = 'Dnes!';
$today['fr'] = 'Aujourd\'hui!';
$yesterday['en'] = 'Yesterday';
$yesterday['cz'] = 'Včera';
$yesterday['fr'] = 'Hier';
if ($create_date == mosFormatDate(date("Y-m-d H:i:s", strtotime("now")))) {
$create_date = '<span style="color: red;">' . $today[$lang] . '</span>';
}
if ($create_date == mosFormatDate(date("Y-m-d H:i:s", strtotime("1 day ago")))) {
$create_date = '<span style="color: red;">' . $yesterday[$lang] . '</span>';
}
//End of Today/Yesterday hack

Nyní by se měli u článků s datem vytvoření dnes nebo včera místo datumu zobrazovat červené Dnes/Včera. Přidal jsem i další jazyky, schopný Joomlista! si určitě zvládne přidat další :)

Postup je funkční na NokiaManii.cz s Joomlou! ve verzi 1.0.15 Stable [Daytime], nicméně postup by měl být aplikovatelný i na starších verzích.

 

Kryštof 

Komentáře (11)
  • feni  - joomla 1.5!
    Nebyla by tu ochotná duše udělat článek, jak tuto úpravu udělat pro Joomlu 1.5.x (nějak podrobněji) i třeba jak lze upravit kód, aby se zobrazil např. autor | datum vytvoření | dat.aktualizace ..(prostě vedle sebe a ne autor, pod tím datum vytvoření.. pak článek a teprve pod ním dat. aktualizace).. zkoušel jsem to zobrazení vedle sebe mi šlo, ale horší je to pak ze stylováním, vše sem měl pod jedním stylem a to autora.. takže asi jsem nepostupoval zcela správně. Za každou radu předem díky.
  • lyso
    wuaarhg smajlici : )) ...

    $today = mktime(0, 0, 0, date("m" ) , date("d" ), date("Y" ));
    $yesterday = mktime(0, 0, 0, date("m" ) , date("d" )-1, date("Y" ));
  • lyso  - Joomla 1.5!
    U joomly 1.5 to je to trochu jinak, existuje tam componenta com_content, ale nedoporucuji ji upravovat ... ja jsem to vyresil tak, ze jsem upravil soubor v templates/jmeno_templatu/html/com_content/frontpage/default_item.php

    a to tak ze jsem si nasel radek ktery vypise vygenerovany cas vlozil jsem ho do poznamky a nahradil timto blokem kodu:

    Kód:
      
    $_content_time = strtotime($this->item->created);
    $today = mktime(0, 0, 0, date("m";) , date("d";), date("Y";));
    $yesterday = mktime(0, 0, 0, date("m";) , date("d";)-1, date("Y";));

    if ( $_content_time > $today )
    echo 'Dnes '.date("G", $_content_time).':'.date("i", $_content_time).'';
    else if ( $_content_time > $yesterday || $_content_time == $yesterday)
    echo 'Včera '.date("G", $_content_time).':'.date("i", $_content_time);
    else
    echo date("j", $_content_time).'.'.date("n", $_content_time).'.'.date("y", $_content_ti...
  • Kryštof Korb  - fufru
    "Postup je funkční na NokiaManii.cz s Joomlou! ve verzi 1.0.15 Stable [Daytime], nicméně postup by měl být aplikovatelný i na starších verzích."

    Já to na Joomle! 1.5 nedělal, ale pokud po tom někdo extrémě tíhne, můžu se na to kouknout. Určitě to půjde.
  • frufru
    nejak se mi nedari zjistit, jestli tahle metoda fnguje i pro joo 1,5,x a asi ne...nebo jsem jenom slepý?
  • XarlieN  - ...
    ale uznávám že jak jsem ráno v rychlosti napsal slovo PATCH, tak to nebyl nejvhodnější nápad.
  • XarlieN  - ok chlapi
    Vzdávám se, mě to vysvětlovat nemusíte, já podle kódu vidím co ten script dělá. Spíš bych tím pádem byl pro změnit terminologii pro bežné uživatele. Všude samé "hackování Joomla", tak aby chudáci neměli strach. Podle mě prostě slovo HACK není vhodné.
  • svatas  - Re: >XarlieN
    Přidávám se i já vahou své osobnosti : skutečně je to takl, jak to napsal heretic, v této souvislosti se slovo hack používá přesně v tomto významu.
    Shrnu-li to : pokud to vydá oficiální vývojový tým - je to patch. Pokud to vydá kodokoliv jiný - je to hack.
  • heretic  - >XarlieN
    Termínem hack se označuje nejen průnik do cizí výpočetní techniky, ale i změna programu za účelem pozměnění jeho funkce. Tebou navrhovaný termín patch bych spíš viděl jako "opravu", o což se v tomto případě nejedná.
Komentář mohou přidat pouze registrovaní uživatelé!
 
Právě připojeni - hostů: 320 a členů: 10 
Joomla!® je registrovaná ochranná známka společnosti Open Source Matters
© 2004-2010 JoomlaPortal.cz - provozováno Testudo corp. s.r.o.
design by VirtueArt geared by Joomla! Doporučujeme iTrefa.cz

Partneři Joomlaportal.cz

IgnumPhoca GalerieVirtueMart

Reklama Joomlaportal.cz

Artio
Pizza Brno

Joomla! Developer - Vulnerability News

[20100704] - Core - XSS Vulnerabillitis in Back End