|
News : écrire la date de l'article en toutes lettres et en français ? |
|
Guest_
|
b'jour, Comment faire pour écrire le titre d'une article accompagné d'une date sous la forme : 4 octobre 2010 - Concert de Manu Chao Liquid Room Dans les préférences du module il est possible de formater les dates, mais cela reste en anglais (october et non octobre). La variable que je souhaiterais personnaliser est <{$story.posttime}> et se trouve dans : • news/articles.php
$story['posttime'] = formatTimestamp($article->published(),$dateformat);
• news/class/class.newsstory.php
$story['posttime'] = formatTimestamp($story['posttimestamp'],news_getmoduleoption('dateformat'));
... désolé pour la question de noob et si la réponse figure déjà sur ces forums
Posté le : 30/09/2010 13:24
|
|
|
Re: News : écrire la date de l'article en toutes lettres et en français ? |
|
Semi pro
Inscrit: 10/11/2004 13:40
|
Peut-être comme ça - news/articles.php
$formatdate = date("d-m-Y",$article->published());
list($day, $month, $year) = explode("-", $formatdate);
$months = array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");
$story['posttime'] = "$day " . $months[$month-1] . " $year";
http://php.developpez.com/faq/?page=dates#date_mysqlfr
Posté le : 30/09/2010 14:45
|
PS : Toujours faire une sauvegarde des fichiers avant de les modifier !------------------------------------------- http://www.aideordi.com
|
|
Re: News : écrire la date de l'article en toutes lettres et en français ? |
|
Xoops accro
Inscrit: 20/02/2008 20:27
De Belgium
|
Vérifiez qu'il y a
setlocale(LC_ALL, 'fr_FR');
dans /language/french/locale.php Voir aussi ceci avec Smarty.
Posté le : 30/09/2010 14:54
|
|
|
Re: News : écrire la date de l'article en toutes lettres et en français ? |
|
Guest_
|
Merci !!
@nikita : ta solution fonctionne impeccable, j'ai ajouté le script à la ligne 188 (au pifomètre). Note : le paramétrage du format de date via l'administration de News ne fait plus effet.
@ghia : dans les deux fichiers /english/local.php et /french/local.php j'ai trouvé "en_US". En les changeant par "fr_FR" rien ne change.
Posté le : 30/09/2010 15:31
|
|
|
Re: News : écrire la date de l'article en toutes lettres et en français ? |
|
Xoops accro
Inscrit: 20/02/2008 20:27
De Belgium
|
Ça peut être dépendent de votre serveur (voir documentation de l’hébergeur) Autres choses à essayer:
setlocale(LC_ALL, "fr_FR.ISO-8859-1");
setlocale(LC_ALL, "fr_FR.utf8");
setlocale(LC_ALL, "fra");
setlocale(LC_ALL, "fr");
setlocale(LC_ALL, "French");
setlocale(LC_ALL, "fr_FR@euro");
Autres variants: fr_FR.iso-8859-1 fr_FR.iso8859-1 fr_FR.iso88591 fr_FR.ISO-8859-1 fr_FR.ISO8859-1 fr_FR.ISO88591 fr.iso-8859-1 fr.iso8859-1 fr.iso88591 fr.ISO-8859-1 fr.ISO8859-1 fr.ISO88591 French_France.iso-8859-1 French_France.iso8859-1 French_France.iso88591 French_France.ISO-8859-1 French_France.ISO8859-1 French_France.ISO88591 French.iso-8859-1 French.iso8859-1 French.iso88591 French.ISO-8859-1 French.ISO8859-1 French.ISO88591
Posté le : 30/09/2010 15:51
|
|
|
Re: News : écrire la date de l'article en toutes lettres et en français ? |
|
Guest_
|
@Ghia, merci ! Je sais désormais où chercher. J'ai appliqué ce petit script sur mon serveur :
<?php
/* Configure le script en français */
setlocale(LC_ALL, 'fr_FR');
/* Affiche : vrijdag 22 december 1978 */
echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978));
/* Essai de différentes valeurs possible pour le français depuis PHP 4.3.0 */
$loc_de = setlocale(LC_ALL, 'fr_FR.utf8', 'fr_FR', 'fr', 'fra');
echo "L'identifiant du français sur ce système est '$loc_de'";
?>
J'obtiens le résultat suivant en appelant le script : Citation :vendredi 22 décembre 1978 L'identifiant du français sur ce système est 'fr_FR.utf8' Par contre cela ne modifie toujours pas la langue (october et pas octobre) lorsque je mets fr_FR.utf8 dans www/language/french/local.php Il s'agit peut être d'un souci de programmation php dans le module News ? --- @Nikita : • la solution que tu m'as indiquée fonctionne pour la page article.php, c'est à dire la vue de la page article (modules/news/article.php?storyid=3) • Par contre cela ne change rien pour les dates accompagnant les titres sur la page des topics : modules/news/index.php?storytopic=2 Saurais-tu où / comment placer ton script pour que la modification fasse effet sur la page d'accueil du sujet ?
Posté le : 30/09/2010 21:22
|
|
|
Re: News : écrire la date de l'article en toutes lettres et en français ? |
|
Xoops accro
Inscrit: 20/02/2008 20:27
De Belgium
|
Avec le
setlocale(LC_ALL, 'fr_FR');
echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978));
et Citation :vendredi 22 décembre 1978 ça me semble quand-même bien une date Française. Que-est-que ça donne avec
setlocale(LC_ALL, 'fr_FR');
echo strftime("%A %e %B %Y", mktime(0, 0, 0, 10, 22, 1978));
Si c'est bon il faut simplement le fr_FR Pour obtenir le parametre activee:
echo setlocale(LC_ALL, NULL);
Citation :L'identifiant du français sur ce système est 'fr_FR.utf8' Le résultat est peut-être dépendent de l'ordre des arguments.
$loc_de = setlocale(LC_ALL, 'fr_FR', 'fr', 'fra', 'fr_FR.utf8');
Posté le : 01/10/2010 00:59
|
|
|
Re: News : écrire la date de l'article en toutes lettres et en français ? |
|
Semi pro
Inscrit: 10/11/2004 13:40
|
Citation : Burning a écrit : @Nikita : • la solution que tu m'as indiquée fonctionne pour la page article.php, c'est à dire la vue de la page article (modules/news/article.php?storyid=3)
• Par contre cela ne change rien pour les dates accompagnant les titres sur la page des topics : modules/news/index.php?storytopic=2
Saurais-tu où / comment placer ton script pour que la modification fasse effet sur la page d'accueil du sujet ?
dans le fichier news/class/class.newsstory.php remplace la ligne
$story['posttime'] = formatTimestamp($story['posttimestamp'],news_getmoduleoption('dateformat'));
par
$formatdate = date("d-m-Y",$story['posttimestamp']);
list($day, $month, $year) = explode("-", $formatdate);
$months = array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");
$story['posttime'] = "$day " . $months[$month-1] . " $year";
Posté le : 01/10/2010 07:15
|
PS : Toujours faire une sauvegarde des fichiers avant de les modifier !------------------------------------------- http://www.aideordi.com
|
|
Re: News : écrire la date de l'article en toutes lettres et en français ? |
|
Guest_
|
Merci Nikita, cela fonctionne :) @Ghia : le script m'affiche bien la date en toutes lettres mais une fois l'identifiant correct trouvé (fr_FR.utf8), je ne sais pas la faire fonctionner correctement. Si j'écris dans local.php Citation :setlocale(LC_ALL, "fr_FR.utf8"); ... j'ai toujours october et non pas octobre. --- Pour moi le sujet est clos, mais il s'agit d'une solution "de dépannage" car je crois que cela ne peut pas convenir pour un site multilingue.
Posté le : 04/10/2010 13:44
|
|
|
Re: News : écrire la date de l'article en toutes lettres et en français ? |
|
Xoops accro
Inscrit: 20/02/2008 20:27
De Belgium
|
Pourquoi vous mettez
setlocale(LC_ALL, "fr_FR.utf8");
, car la conclusion du script de post #6 est que ça marche avec
setlocale(LC_ALL, "fr_FR");
Posté le : 04/10/2010 16:21
|
|
Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|