Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [Résolu]jDatetime dans un jTpl pour afficher juste mois et année

Posted by dantahoua on 11/23/2010 20:19

Salut. Une idée sur comment faire pour afficher juste le mois et l'année d'une date (db_format) passé dans un tpl? Pour l'instant je fais ça dans le tpl: {$NEWS->date_created|jdatetime:'db_date','full_lang_date'} Mais le client veut juste le mois et l'année (genre Juillet 2010 et en Anglais July 2010)... Faut-il que je crée un modifier jDatetime spécifique dans plugins/tpl/ ?

  [Opened] jDatetime dans un jTpl pour afficher juste mois et année

Reply #1 Posted by dantahoua on 11/23/2010 20:43

Voici ma solution, j'ai créé un modifier en m'inspirant de jdatetime:

function jtpl_modifier_common_date_month_year($sDate)
{
<code>
    $dt = new jDateTime();
    $dt->setFromString($sDate,jDateTime::DB_DFORMAT);
    $t = mktime ( $dt->hour, $dt->minute,$dt->second , $dt->month, $dt->day, $dt->year );
    $month = jLocale::get('jelix~date_time.month.'.date('m',$t).'.label');
    return $month.' '.$dt->year;

}

</code>

Que j'appel dans mon tpl: {$NEWS->date_created|date_month_year}

  [Opened] [Résolu]jDatetime dans un jTpl pour afficher juste mois et année

Reply #2 Posted by Vincentv on 11/24/2010 14:16

tu peux aussi utiliser la classe DateTime de PHP

function jtpl_modifier_common_date_month_year ($sDate) {
<code>
    $date = DateTime::createFromFormat($sDate,'Y-m-d H:i:s');
    $month = jLocale::get('jelix~date_time.month.'. $date->format('m').'.label');
    return $month.' '. $date->format('Y');

}</code>

ou

function jtpl_modifier_common_date_month_year ($sDate) {
<code>
    $date = DateTime::createFromFormat($sDate,'Y-m-d H:i:s');
    setLocale(LC_TIME, $GLOBALS['gJConfig']->locale);
    return strftime("%B %Y", $date->format('U'));

}

</code>

ou alors tu as le modificateur /plugins/tpl/common/modifier.date_format.php

{$mydate|date_format:"%B %Y"}
;)
 
Page
  1. [Résolu]jDatetime dans un jTpl pour afficher juste mois et année