Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Créer un gestionnaire de collections avec Symfony3

Gérer les boutons de formulaire

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Plusieurs boutons peuvent être définis sur un formulaire pour vous permettre de gérer des actions différentes. Vous allez créer un bouton supplémentaire et comprendre comment l'utiliser pour intercepter une action.
07:55

Transcription

Le framework de formulaire de symfony 3 vous permet également de gérer et de traiter différents boutons pour vos formulaires. Je vais vous donner un petit exemple sympa ici. Je suis parti du principe que, quand on arrive sur l'édition d'un objet, On pourrait pourquoi pas, alors, si on était admin, on peut encore imaginer pas mal de choses, mais on va le faire comme ça, peu importe le Grade, mais maintenant vous savez le faire. On va pouvoir changer, le owner, [inaudible]quand je suis en train de mettre à jour, eh bien, un objet, je vais pouvoir changer le propriétaire, pour dire que maintenant je veux que ça soit à moi. Donc, je mets à jours les options et en plus de ça, je modifie le propriétaire. Je voulais aussi pouvoir bénéficier des messages différents, en « submit », en « update », parce que j'utilise le même formulaire à deux endroits différents. Ça, c'est la petite modif à faire au niveau du « buildform ». Donc, au niveau, en fait, de votre item type. La deuxième chose à faire, c'est de réécrire l'affichage du formulaire pour éclater ce formulaire. Je vous montre. Sur le « one » qu'on a ici, donc c'est quand on en voit un seul, maintenant, je vais utiliser le Tag, Forme Start au début, on lui passe en forme. Et puis je vais demander des formeraux qui vont me faire un Rendu de la belle et du champ du forme, avec à l'intérieur à chaque fois, le nom du forme. Title, Description, Code, Collection, Image URL. Puis ensuite, je vais demander juste les widget , widget , c'est juste le bouton en fait. pour le forme « submit », le forme « update », le forme « change owner », OK. Et sur le premier, regardez, je vais utiliser cette écriture-là, qui me permet de placer un attribut de classe sur le bouton « submit » pour le cacher. Ah ou, parce que quand je suis en train d'éditer, je veux que le message « update » Change owner. Vous imaginez bien que ce petit rendu-là, je vais le recopier dans « ad » et cette fois-ci c'est des deux autres que je vais « hide ». Je vais leur dire ici, vous vous cachez, parce que moi, je veux, que le « submit » sur la création d'objet. Donc, deux comportements différents. Bien sûr, je n'ai pas tout codé. Je vous ai gardé le meilleur pour la fin, pour qu'on le code ensemble. Le meilleur pour la fin qu'est-ce que c'est ? C'est simplement de venir récupérer un champ sur le formulaire et du coup, de venir travailler la logique. Alors, pour récupérer un champ sur le formulaire, Il va suffire de venir avec un get choper le champ et demander si ce bouton-là était cliqué. Alors ce ne sera valable, bien sûr, que pour les boutons soumis , attention. On va le faire où, on faire dans le Oneitems ici. On va récupérer le comportement qu'on avait déjà implémenté. Ce comportement, il se trouvait au niveau de la création où vous avez le « set user » qui se trouve ici. On ne va le faire que si l'utlilisateur a cliqué sur le bouton de modification de changement d'utilisateur. Comment on va procéder ? Ici, on a bien de vérifications, pour voir s'il est l'auteur ou pas, donc ça, c'était pour « Remove ». Ça va marcher à peu près pareil, sauf que, ça ne va pas être la même logique, ici, on récupère l'item, et à cet endroit-là, on va venir implémenter la logique. On va faire un petit « if », on va récupérer sur le forme de champ qui nous intéresse. Donc, on va faire un « get » du champ qui nous intéresse., et le champ qui nous intéresse portera exactement le nom, que l'on a mis avant. Alors, attention, on va simplement ici faire le coller pour que ça ne peut embêter et ici on va aller chercher le champ. Le champ, je l'ai fermé, alors, c'est le champ qui se trouve ici, qui s'appelle « changeOwner » que l'on va récupérer. « ChangeOwner » et derrière vous allez bénéficier d'un NAPI hyper sympa, qui s'appelle « isclict », qui nous permet de savoir si le bouton a été cliqué. Donc « is clict » comme ça. Si ce bouton a bien été cliqué, vous allez le savoir et vous allez donc changer l'utilisateur. Sinon, ce que vous faites juste en update classique et donc, il n'y a pas de problème. Il n'y a plus qu'à tester. Donc, ici on va aller sur Test FFF, on va faire « changeowner ». Ça va modifier, regardez, utilisateur et maintenant, j'ai la possibilité de faire une suppression. Alors qu'avant, je n'avais pas la possibilité de le faire. Et ça va vous faire apparaître le lien. Alors, vous voyez qu'avec quelques petites lignes, on vient travailler sur les formulaires, sur la logique de notre application. Ça, ce sera bien de le mettre, si l'utilisateur, il est Admin. Comment on ferait ? C'est facile à faire ça ou pas ? Oui, c'est facile à faire. Il suffira simplement ici, le « changeOwner » de venir mettre un Tag, « if » et du coup, on s'est vérifié si l'utilisateur a un rôle ou pas, « up point user point » , « us role », et on mettra ici « role admin ». Si vous voulez le tester, vous pouvez faire « role toto ». Faites « role toto » et là pas le « role toto », de toute façon, puisqu'il n'existe pas dans notre application et du coup vous allez avoir ce bouton qui va être caché forcément. Donc, en éclatant, ce qui est intéressant, alors, « change Owner » ici. Alors le problème c'est qui, du coup, il va vous embêter, parce que, quand vous l'aurez pas mis, il va vous le mettre quand même. Ça, c'est le forme « end » qui va le faire. Donc là, on risque d'être un petit peu embêté pour le cacher, il faudra implémenter peut-être une logique un peu plus sympa. On pourrait, si, on pourrait tout à fait faire ça, pourquoi pas ? On pourrait lui appliquer une classe. Donc là, il faudrait le faire avec un « else », ce serait plus sympa , voilà, on pourra faire comme ça. Donc, on va lui dire, si effectivement, directement, tu as le rôle [inaudible] et si non, on va [inaudible], mais on va mettre un [inaudible], dedans. Ne vous inquiétez pas avec ça, parce que du coup, ça ne sera pas cliquable, c'est ce qu'on veut, au niveau d'une application, de toute façon. On souhaite simplement que ça ne soit pas cliquable et comme ça, on n'est pas embêté, il n'a pas de problème. Donc là, on ne devrai pas être trop mal, voilà, comme ça vous allez bien caché. Donc, faites attention à ce que vous implémenté, essayez de vérifier, ne restez jamais bloqué, ça, c'est toujours pareil, il faut toujours essayer d'avancer, de trouver des solutions, puis on a toujours des solutions. Voyez qu'ici, on a trouvé une solution assez simple, on aurez aussi pu faire un [inaudible] à l'intérieur. On peut s'amuser à faire pas mal de choses. Ça, on pourrait le mettre en variable Twig et venir l'implémenter en variable Twig très facilement. Vous voulez le voir ? Bon, alors on le fait, dans ce cas-là, pas de problème, allez, on y va. On est là pour de l'atelier, alors, dans ce cas-là, on s'amuse. Ici, si vous voulez le faire, on pourrez simplement avoir un « aid », « changeOwner », voilà, respecter des noms un peu sympa, et on peut le passer aux « Templates », sans aucun problème. Donc ça pour le passer aux « Templates » ici,vous passer le format premier, et après vous lui passer ça, et ça, vous allez lui dire que ça, ça va âtre égal à quoi, Là, pourquoi pas, à une variable que vous auriez préparée, donc, « hidechangeOwner » également, on va vérifier que « thisgetuser » et « usrole », là, on sait faire, on fait la même chose, « usrole » ici, « admin », on a dit de mettre admin comme ça. vos rôle, « toto admin » , voilà. Là, on vérifie ça, s'il a le rôle, on n'envoie rien, s'il n'a pas le rôle, on pourrait faire ça comme ça, ça serait trou de toute façon, Sinon, il renvoie hide et puis comme ça, c'est caché. Ça vous pensez bien. Alors, envoyez ici donc on va faire un petit hide, « ChangeOwner » vous leur envoyer et comme ça vous cachez s'il n'a pas le rôle Donc là, on va mettre [inaudible], Si l’utilisateur a le rôle on ne revoit rien du tout, alors c'est sensé marcher, mais ça ne marche pas, donc, on va aller vérifier pourquoi ça ne marche pas. Qu'est-ce qu'on a mis au niveau du « Templates », sur le « one », On a mis « hidechangeOwner », et on n'a pas mis un 2s à classe. voilà. Ici, on est bon, on a bien tout caché. Vous pouvez utiliser ce genre de technique, ça vous évite de faire des [inaudible], directement dans le « Templates ». C'est sympa aussi., pensez aux solutions. Voyez que vous êtes sur un framework qui est très sympa, avec lequel vous pouvez de façon très simple , c'est très [inaudible] en réalité, passer des informations ou penser à des petites logiques, créer des variables, etc. En très peu de lignes vous arriverez à un résultat correct.

Créer un gestionnaire de collections avec Symfony3

Développez une application de gestion de ressources avec Symfony. Prenez en main le DQL (Doctrine Query Language) ainsi que les formulaires, la sécurité, les tests, etc.

2h12 (25 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :19 avr. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !