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

Symfony PHP Discussion :

Insertions de plusieurs fichier JS


Sujet :

Symfony PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 200
    Par défaut Insertions de plusieurs fichier JS
    Hello !

    Je cherche à insérer plusieurs fichier JS local dans mon projet SF ! J'ai évidement cherché sur internet comment faire mais je comprend pas (je débute en SF).

    J'ai créé un dossier "JS" dans le dossier assets et dans le dossier "JS" il y a le fichier testA.js
    J'ai aussi créé un fichier testB.js dans le dossier public


    Voici mon block javascripts dans mon base.html.twig
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            {% block javascripts %}
                {% block importmap %}{{ importmap('app') }}{% endblock %}
                <script src="{{asset('JS/testA.js')}}"></script>
                <script src="../public/testB.js"></script>
            {% endblock %}

    Dans la console de mon navigateur, quand j'ouvre ma page qui est dans templates/pages/signalement/show.html.twig

    Dans show.html.twig :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <div id="signalement">
         <p>ceci est un test</p>
    </div>
    Il ne me trouve pas testB : Échec du chargement pour l’élément <script> dont la source est « http://localhost:8000/public/testB.js ».
    Il ne me trouve testA j'ai un autre message d'erreur :

    Uncaught ReferenceError: can't access lexical declaration 'signalement' before initialization
    <anonymous> http://localhost:8000/assets/JS/testA-pvpnoMf.js:1

    Je comprends pas trop comment intégrer d'autre fichier en plus du app.js dans Symfony !

    Merci de vos lumières

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 571
    Par défaut
    Citation Envoyé par d3LTa7 Voir le message
    Il ne me trouve pas testB : Échec du chargement pour l’élément <script> dont la source est « http://localhost:8000/public/testB.js ».
    est ce que cet url est correct ?

    si l'application symfony a pour racine le répertoire "public" alors l'url des fichiers js devraient plutot ressembler à http://localhost:8000/testB.js.

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    L'utilisation de la fonction Twig asset() ne va pas chercher les fichiers dans un dossier nommé "asset". Tes fichiers doivent être dans le répertoire public pour que le navigateur puisse y avoir accès.
    Tu dois donc déplacer ton fichier testA.js dans le répertoire public.

    Si tes deux fichiers sont à la racine de public, ton code devient donc :

    Code twig : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script src="{{ asset('testA.js') }}"></script>
    <script src="{{ asset('testB.js') }}"></script>

    Tu peux créer un répertoire "js" dans le répertoire public, mettre les fichiers dedans et ton code devient donc :

    Code twig : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script src="{{ asset('js/testA.js') }}"></script>
    <script src="{{ asset('js/testB.js') }}"></script>

Discussions similaires

  1. insertion de plusieurs fichiers jointes
    Par jdebontrid dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 29/01/2019, 15h36
  2. Réponses: 1
    Dernier message: 06/05/2010, 14h56
  3. Réponses: 9
    Dernier message: 29/05/2008, 13h33
  4. Réponses: 2
    Dernier message: 03/05/2008, 13h34
  5. Réponses: 3
    Dernier message: 21/02/2006, 16h43

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