IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WordPress PHP Discussion :

Appel d'une fonction JS dans une fonction php


Sujet :

WordPress PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Webmaster
    Inscrit en
    Septembre 2018
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2018
    Messages : 23
    Par défaut Appel d'une fonction JS dans une fonction php
    Bonjour,

    Je cherche à afficher le résultat d'un formulaire sur un diagramme circulaire.
    J'ai donc construit un fichier .js pour construire le graphe qui fonctionne parfaitement en local :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <canvas id="pie" width="800" height="500"></canvas>
    <script  src="./camembert.js"></script>

    Mais quand j'essaie d'exécuter ce code dans ma fonction php, rien ne s'affiche :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	echo "<canvas id='pie' width='800' height='500'></canvas>";
    	echo "<script  src='./camembert.js'></script>";

    Donc je me suis dit que je devais d'abord extraire la fonction du fichier JS mais je ne comprends pas comment marche la fonction nécessaire ni même si j'ai utilisé la bonne :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    wp_enqueue_style( 'drawPieChart',  ./'camembert.js', array() );

    Est-ce que quelqu'un voit quelque chose dans le code ou dans mon raisonnement qui expliquerait qu'aucun diagramme ne s'affiche ?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 640
    Par défaut
    si vous utilisez la réécriture d'URL de WordPress vous aurez des URL dans le genre site.com/resultats-2009/analyse-pack-sport.
    et donc le chemin src=./camembert.js va cherche le fichier site.com/resultats-2009/camembert.js qui n'existe donc pas.

    la 1re chose à voir est si le fichier camembert.js est dans une extension ou dans un thème ?

  3. #3
    Membre averti
    Femme Profil pro
    Webmaster
    Inscrit en
    Septembre 2018
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2018
    Messages : 23
    Par défaut
    J'ai placé le fichier .js au même endroit que le fichier contenant la requete php donc dans le thème.
    Ca me semblait logique vu comment le chemin est mentionné.
    Mais je ne trouve aucun répertoire "résultats".

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 640
    Par défaut
    c'est le navigateur qui résout ces chemins relatifs et le navigateur n'a pas accès aux chemins des fichiers sur le serveur, il voit uniquement l'adresse site.com/resultats-2009/analyse-pack-sport.

    si vous rangez les fichiers dans un répertoire "js", vous pouvez utiliser ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    add_action("wp_enqueue_scripts", function () {
     
    	wp_enqueue_script(
    		  "camembert"
    		, get_template_directory_uri() . "/js/camembert.js"
    	);
     
     
    });
    ensuite pour vérifier que le fichier est bien chargé, regardez le code source de la page et regardez aussi l'onglet "Réseau" de la console de développement de votre navigateur.
    par exemple avec Firefox, faites Ctrl + Maj + E
    https://developer.mozilla.org/fr/doc...ur_r%C3%A9seau

  5. #5
    Membre averti
    Femme Profil pro
    Webmaster
    Inscrit en
    Septembre 2018
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2018
    Messages : 23
    Par défaut
    Donc reprenons :
    J'ajoute le code add_action dans le fichier functions.php ou directement dans ma fonction php ?

    Dois-je appeler cette fonction "camembert" avant les echo des balises pour les lancer ou c'est inutile ?

    Ensuite, je pourrais sûrement chercher où se trouve le répertoire où je dois déposer le fichier js en inspectant le code source de la page générée...

    Merci pour votre aide

  6. #6
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 640
    Par défaut
    il vaut mieux charger ce fichier javascript seulement quand vous en avez besoin.
    comment utilisez vous cette fonction ? dans un shortcode ou dans un template ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/03/2013, 16h36
  2. Réponses: 4
    Dernier message: 11/08/2006, 13h43
  3. [Javascript] bouton qui appele a une page php
    Par belakhdarbts dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/06/2006, 22h38
  4. appel d'une page php et passage de paramètres via un SRC
    Par yoda_style dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/01/2006, 20h54
  5. [Sécurité] Proteger l'appel d'une page PhP
    Par rigolman dans le forum Langage
    Réponses: 11
    Dernier message: 13/10/2005, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo