Bonjour à tous,
Etant un grand débutant en zf2 et bootstrap, je me vois confronté à de multiples problèmes.
Aujourd'hui c'est le calendrier/agenda bootstrap-calendar qui me fais des tors:
https://github.com/Serhioromano/bootstrap-calendar
Le problème est que je n'arrive pas à l'afficher dans une vue de mon projet.
Les script js et css sont bien déclaré dans le layout mais rien ne se passe quand je déclare la div avec l'id calendar.
Si quelqu'un sait comment faire je suis preneur ;)

9 réponses


Il faut débugger le js.
Vérifie depuis la console que tu load bien ton script, tente d'instancier le calendrier depuis la console et regarde ce que ca te retourne...

mderanty
Auteur

J'ai essayé mais je n'arrive vraiment pas à le mettre en place.
Je met mon git à disposition:
https://github.com/mderanty/Projet\_Insset

heuuu ouais mais la je vais pas pouvoir me plonger dans tout ton truc, et comme je ne code pas sous zf je ne vais pas non plus pouvoir l'installer.

Le pb a l'air d'etre coté JS, donc:

  • Vérifie que tes script et css sont bien chargés par le navigateur (depuis ton inspecteur)
  • Dis-nous ce que te sors la console

Bonsoir.

Les script js et css sont bien déclaré dans le layout mais rien ne se passe quand je déclare la div avec l'id calendar.

Regardes dans l'inspecteur de ton navigateur s'il ne retourne pas une erreur pour ton javascript, que ce soit parce qu'il ne trouve pas ton JS ou peut-être parce qu'il détecte une erreur de fonction ou autre du code JS.

Edit : J'ai peut-être trouvé ton problème.
Vu que je ne connais pas Zend Framework, il est possible que c'est faux.
Je ne sais pas trop comment il retourne les fichiers css et js déclarés sur le layout et s'il à besoin de jQuery, mais ton fichier calendar.js est déclaré bien avant (presque au début même) celui de jQuery (alors que lui est presque le dernier).
Ensuite, tu as l'echo de ton "instruction" $this->inlineScript() qui n'est pas fermé (pas de ; à la fin, ça n'a peut-être rien à voir, mais on ne sait jamais)

mderanty
Auteur

hmmm je pense plutôt que c'est au niveau du dossier tmpls qui doit fournir les templates nécessaire au fonctionnement du calendrier car les js et les css sont bien lancés, ils apparaissent dans la consoles donc après ça je ne vois pas.

mderanty
Auteur

ma console me ressort ça comme erreurs js:
20:06:37,844 SyntaxError: Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead jquery.min.js:1
20:06:37,855 Error: http://projet.localhost/js/jquery.min.js is being assigned a //# sourceMappingURL, but already has one
20:06:40,426 TypeError: $(...).calendar is not a function app.js:36
20:06:41,321 TypeError: this.options.templates[this.options.view] is not a function calendar.js:426
20:06:41,495 L'utilisation de « getPreventDefault() » est obsolète. Utiliser « defaultPrevented » à la place. jquery.min.js:5

Pour la dernière ligne ce n'est pas gênant, par contre pour le reste, ça influence forcément sur le plugin à mon avis.
Par contre je ne pourrais pas t'en dire plus, j'ai déjà eu du mal à trouver ton layout, ne connaissant pas la structure de ZF et je ne connais pas le plugin calendar, alors je ne vais pas en étudier ses fonctions ce soir. :)
Bon courage pour la suite.

mderanty
Auteur

Ce qui m'embête c'est que le calendrier marche quand tout se trouve dans le même répertoire, mais vu qu'avec zf2 on en a plusieurs il doit y avoir du code a changer.

As-tu résolu ton problème?

Bien à toi