Transfert contenu d'une variable JavaScript

Résolu/Fermé
JulieLap - 6 avril 2012 à 19:38
 JulieLap - 7 avril 2012 à 00:13
Bonjour,


J'utilise le plugiciel de traduction WPML pour un site WordPress. Certaines chaînes --des textes d'alertes liés à un formulaire-- sont situées dans un document JavaScript externe et ne peuvent donc être reconnues par le plugiciel. On m'a suggéré de placer ces textes dans le fichier PHP, d'utiliser GetText et de passer le tout au fichier JS.


Je ne suis pas familière avec PHP et JavaScript, mes connaissances s'arrêtent au HTML-CSS et un peu d'ActionScript.


Page template-contact.php - ceci est un exemple d'un élément qui appelle (au besoin) un texte d'alerte dans le fichier JS externe:
<input type="text" name="email" id="email" class="validate[required,custom[email]] text-input" value="<?php _e ('Courriel', 'contempo'); ?>" onfocus="if(this.value=='Email')this.value = '';" onblur="if(this.value=='')this.value = 'Email';" />



Exemples de valeurs dans le ficher JS; ce sont ces chaînes que je veux traduire et qui doivent se retrouver dans le PHP pour que ce soit possible:
"required":{    		
"alertText": "* This field is required"}
"email":{
"alertText":"* Invalid email address"}



Voici ce que j'ai essayé jusqu'à présent:


Ce script a été inséré dans le fichier PHP où se trouve le formulaire.
<script language="javascript" type="text/javascript">
var sFieldReq = "<?php __( '* TEST- This field is required', 'contempo') ?>";
var sEmail = "<?php __( '*TEST-  Invalid email address', 'contempo') ?>";
document.write(sFieldReq,  sEmail);
</script>



J'ai tenté plusieurs variantes dans le fichier JS mais rien ne fonctionne jusqu'à présent:
"required":{    		
"alertText": sFieldReq}
"email":{
"alertText": sEmail }



Les chaînes sont reconnues dans le plugiciel de traduction mais je ne sais pas comment passer le contenu des nouvelles variables sFieldReq et sEmail au fichier JS.


J'apprécierais votre aide!

1 réponse

La solution au problème a été trouvée.

Voici le script qui a été utilisé :
    <script language="javascript" type="text/javascript">
    var sFieldReq = "<?php echo __( '* Ce champ est obligatoire', 'contempo') ?>";
    var sEmail = "<?php echo __( '* Adresse de courriel non valide', 'contempo') ?>";
    </script>


Le script a été placé juste avant <?php wp_head(); ?> dans header.php.

Ceci (dans le fichier externe JS):
"email":{
"alertText":"* Invalid email address"},	


A été remplacé par ceci:
"email":{
"alertText":sEmail},
0