Categories > TinyButStrong general (FR) >

Creation de la date en francais

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: pierce
Date: 2006-02-07
Time: 14:22

Creation de la date en francais

Bon jour,
Voila mon problème, ou plutot ma reflexion( attention ma tête fume), habituellement je cherche une date ou plutot un mois dans une table donc j'utilise un MergeBlock... la pas de problème du tout, la question que je me posait était je voudrais que le deux du mois de février devienne février d'où créer une fonction MoisEnFrancais($mois), et je me suis dit ou je peut mettre cette fonction vu que j'utilise directement un Mergeblock.... Pourquoi ne pas appelé ma fonction dans la page html exemple [MoisEnFrancais(blk1.mois)] et biensure inserer dans la feuille tbs ma fonction du mois en francais mais je me demandais si c'était possible, si j'étais dans la bonne voix ou faire completemnt autrement, et si c'est bien possible, ou dois je inserer ma fonction dans la methode publique ou dans le privé ?
Voila mes quetions ;)
By: Skrol29
Date: 2006-02-07
Time: 14:39

Re: Creation de la date en francais

Salut,

Moi je conseille plutôt une fonction 'onformat' pour ce genre de truc.
Par contre, tu devrais arriver à afficher le mois français directement à l'aide des paramètres 'frm' et 'locale'
By: pierce
Date: 2006-02-07
Time: 16:13

Re: Creation de la date en francais

je n'ai pas vu dans le formulaire, tu peux m'éclaircir sur le sujet?
By: pierce
Date: 2006-02-07
Time: 16:19

Re: Creation de la date en francais

Je crois que je viens de comprendre mais j'ai peur de me tromper dans la syntaxe ce serait :
[chp;frm = local]
et la je devrais avoir le mois inscrit en lettre, c'est à dire février?
By: Skrol29
Date: 2006-02-07
Time: 16:20

Re: Creation de la date en francais

La paramètre 'locale' est le peanant de la fonction setlocale() de PHP.
Il te permet d'afficher des dates aux format choisi réglé par cette fonction.

Plus d'info :
http://www.tinybutstrong.com/fr/manual.php#html_field_prm_locale
By: Skrol29
Date: 2006-02-07
Time: 16:24

Re: Creation de la date en francais

Non, c'est plutôt:
  [var.madate;frm='mmmm';locale]

Côté PHP:
setlocale(LC_ALL;'fr');

Je me rends compt que c'est pas bien expliqué dans le manuel. Je vais améliorer ça un de ces 4.
By: pierce
Date: 2006-02-07
Time: 17:01

Re: Creation de la date en francais

J'ai essayé comme ca :
Pour le php :
setlocale(LC_ALL,'fr');
Pour le html :
[blk1.moisanneeencours;frm='mmmm';locale]
mais ca marque toujours le mois en anglais en faite même si le chiffre est zero normal?
By: Skrol29
Date: 2006-02-07
Time: 17:04

Re: Creation de la date en francais

Il faut que le setlocale() soit exécuté avant la fusion de ton bloc.
By: pierce
Date: 2006-02-08
Time: 09:06

Re: Creation de la date en francais

Et bien je l'ai mis avant la fusion justement, je te montre mon code php :
<?php
session_start();
require ("include/test_session.php");
include('connexion.php');
include('librairie/fonction.php');
include_once('tbs_class.php');
include ('include/entete.php');
include('include/menu.php');
setlocale(LC_TIME,'fr');

//creation d'une pagination soit des valeurs par defauts
//Valeur par défaut
if (!isset($_GET)) $_GET=&$HTTP_GET_VARS ;
if (isset($_GET['PageNum'])) {
  $PageNum = $_GET['PageNum'] ;
} else {
    $PageNum = 1 ;
}

//Valeur par défaut
if (isset($_GET['RecCnt'])) {
  $RecCnt = intval($_GET['RecCnt']) ;
} else {
    $RecCnt = -1 ;
}

$PageSize = 10 ;


$TBS = new clsTinyButStrong ;
$TBS->LoadTemplate('touthistorique.htm') ;
//Fusion du block par page

$RecCnt = $TBS->MergeBlock('blk1',$cnx_id,'SELECT * FROM historique,lampe WHERE refhistorique = frequence ORDER BY cumulquantsortieparmois',$PageSize,$PageNum,$RecCnt) ;
$TBS->MergeNavigationBar('nv','',$PageNum,$RecCnt,$PageSize) ;
$msg_color = '';



//include('include/pied_de_page.php');
mysql_close($cnx_id) ;
$TBS->Show() ;

?>
la ligne
setlocale(LC_TIME,'fr');
se trouve juste après mes includes

Et voila la feuille html :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>touthistorique</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<link href="css/style1.css" rel="stylesheet" type="text/css">
<link href="css/style_crdp.css" rel="stylesheet" type="text/css">
<script type="text/javascript" language="javascript">
function changeCouleur(ligne,couleurFond,couleurPolice)
{
ligne.style.backgroundColor = couleurFond;
}
</script>
</head>
<body>
<div>
<h1 id="haut">Etat de l'historique</h1>

<p>Nous avons, au total, [var.RecCnt] enregistrements dans la base de donn&eacutees.</p>
       
<!--CrÃ&#131;©ation du tableau -->
<table align = "center">

    <tr class="amenu2" bgcolor=#AFCC9D onClick ="changeCouleur(this ,'#FFFF00')"  onMouseOver="changeCouleur(this,'#AFCC9D')">
        <td>R&eacute;f.</td>
        <td>R&eacute;f. de la lampe</td>
        <td>Ann&eacute;e civil en cours</td>
        <td>Mois de l'ann&eacute;e en cours</td>
        <td>Cumul quantit&eacute; sorie / mois</td>
        <td>Cumul quantit&eacute; sorie / ann&eacute;e</td>
        <td>Cumul nombre de sorie / mois</td>
        <td>Cumul nombre de sorie / ann&eacute;e</td>
    </tr>
   
    <tr class="amenu2" bgcolor=#E6E6E6 onClick ="changeCouleur(this ,'#FFFF00')"  onMouseOver="changeCouleur(this,'#E6E6E6')">
    <td><a href="rechhistorique.php?ref=[blk1.refhistorique]">[blk1.refhistorique;block=tr]</a></td>
    <td>[blk1.refconstructeur]</td>
    <td>[blk1.anneecivilencours]</td>
    <td>[blk1.moisanneeencours;frm='mmmm';locale]</td>
    <td>[blk1.cumulquantsortieparmois]</td>
    <td>[blk1.cumulquantsortieparan]</td>
    <td>[blk1.cumulnbsortieparmois]</td>
    <td>[blk1.cumulnbsortieparan]</td>
    </tr>

</table>

<table border="1" align="center" cellpadding="2" cellspacing="0">
 
  <tr align="center">
    <td width="16"><a href="[var..script_name]?PageNum=[nv.first;endpoint;magnet=a;mtype=m+m]">|&lt;</a></td>
    <td width="16"><a href="[var..script_name]?PageNum=[nv.prev;endpoint;magnet=a;mtype=m+m]">&lt;</a></td>
    <td width="16"><a href="[var..script_name]?PageNum=[nv.page;block=td;navsize=3;navpos=centred]">[nv.page]</a></td>
    <td width="16" bgcolor="#C4E1E1"><strong>[nv.page;block=td;currpage]</strong></td>
    <td width="16"><a href="[var..script_name]?PageNum=[nv.next;endpoint;magnet=a;mtype=m+m]">&gt;</a></td>
    <td width="16"><a href="[var..script_name]?PageNum=[nv.last;endpoint;magnet=a;mtype=m+m]">&gt;|</a></td>
  </tr>
 
</table>

</div>
</body>
</html>

la ligne où je me sers de la date est celle ci
<td>[blk1.moisanneeencours;frm='mmmm';locale]</td>
Elle se trouve dans le tableau
By: Skrol29
Date: 2006-02-08
Time: 10:47

Re: Creation de la date en francais

Je viens de m'aperçevoir que setlocale() ne fonctionne qui si le serveur PHP a lui-même les options de langue paramétrées.

Si c'est le cas, setlocale(LC_TIME,'fr') doit retourner True, sinon il retourne False. Tu devrais faire le test pour voir si ton serveur surpporte ces options.

Mon EasyPHP local les supporte, mais le serveur de mon hébergeur non.
By: pierce
Date: 2006-02-08
Time: 11:43

Re: Creation de la date en francais

le problème est que la je travail en local et pas sur un serveur, comme je ne sait pas quant je vais mettre mon site intranet, en gros voir si ca marche et si j'ai le temps de modifier, je pense que je vais revenir au plan A c'est à dire créer une fonction MiosEnFrancais($chiffre), et y inserer un tableau des mois puis utiliser onformat. Je n'ai pas encore utiliser ceci mais j'ai déjà regarder dans le manuel, si j'ai un problème dessus je te reposerai une question dessus mais en tout cas merci de ton aide ca ma quand même bien servit rien que pour apprendre deux trois trucs interressant