Problème pour menu avec onglets sous Symfony2
Résolu
Pépito
-
Pépito -
Pépito -
Bonjour,
Je vous explique mon problème. J'ai une entité client pour laquelle j'enregistre dans ma base de données, divers clients. Pour chaque client j'ai créé une page avec un menu composé d'onglets. Chaque onglet représente un client différents et sur chaque page de l'onglet nous avons les infos suivantes relatives au client : Infos perso, comptes, société.
Je génère mes onglets avec une boucle PHP {% for %} :
J'ai lié toutes mes infos relatives au client à mon entité client, ce qui fait que pour chaque client, seules les infos relatives au client sélectionné s'affichent. En revanche mon problème survient, lorsque je clique sur chaque onglet. En effet, si j'ai plusieurs clients donc plusieurs onglets, seul le premier onglets donc les infos relatives au premier client s'afficheront et les autres onglets ne seront pas pris en compte.
Je souhaiterais donc savoir comment réalisé ça sous Symfony2 avec soit dans mon controller soit dans la vue, une requête pour que pour chaque onglets les infos s'affichent pour chaque client et que la navigation fonctionne donc correctement.
Merci d'avance
Je vous explique mon problème. J'ai une entité client pour laquelle j'enregistre dans ma base de données, divers clients. Pour chaque client j'ai créé une page avec un menu composé d'onglets. Chaque onglet représente un client différents et sur chaque page de l'onglet nous avons les infos suivantes relatives au client : Infos perso, comptes, société.
Je génère mes onglets avec une boucle PHP {% for %} :
{% for client in clients %}<li role="presentation"><a href="#tab_clients" rel="nofollow" target="_blank" aria-controls="clients" role="tab" data-toggle="tab">{{ client.name }}</a></li>{% endfor %}
J'ai lié toutes mes infos relatives au client à mon entité client, ce qui fait que pour chaque client, seules les infos relatives au client sélectionné s'affichent. En revanche mon problème survient, lorsque je clique sur chaque onglet. En effet, si j'ai plusieurs clients donc plusieurs onglets, seul le premier onglets donc les infos relatives au premier client s'afficheront et les autres onglets ne seront pas pris en compte.
Je souhaiterais donc savoir comment réalisé ça sous Symfony2 avec soit dans mon controller soit dans la vue, une requête pour que pour chaque onglets les infos s'affichent pour chaque client et que la navigation fonctionne donc correctement.
Merci d'avance
A voir également:
- Problème pour menu avec onglets sous Symfony2
- Menu déroulant excel - Guide
- Restaurer les onglets chrome - Guide
- Canon quick menu - Télécharger - Utilitaires
- Windows 11 menu contextuel classique - Guide
- Windows 11 menu démarrer classique - Guide
2 réponses
Salut,
Si j'ai bien compris, tu utilises les "togglable tabs" de bootstrap pour afficher les infos des clients dans différents onglets :
https://getbootstrap.com/javascript/#tabs
Si ta boucle fonctionne correctement, ton code ci-dessus doit donc générer les onglets de navigation (<!-- Nav tabs --> dans l'exemple de la doc) permettant d'afficher les contenus des panels (<!-- Tab panes --> dans l'exemple de la doc).
Où est le code responsable de la génération du contenu des panels (une deuxième boucle normalement) ?
Enfin, chaque onglet de navigation doit posséder une balise a dont l'attribut href est égal à l'identifiant du panel correspondant, or pour l'instant tout tes onglets de navigation pointe sur le panel #tab_clients.
Cet attribut devrait être générer dynamiquement avec par exemple l'identifiant de l'utilisateur afin que chaque panel est un identifiant différent.
Bonne journée,
Si j'ai bien compris, tu utilises les "togglable tabs" de bootstrap pour afficher les infos des clients dans différents onglets :
https://getbootstrap.com/javascript/#tabs
Si ta boucle fonctionne correctement, ton code ci-dessus doit donc générer les onglets de navigation (<!-- Nav tabs --> dans l'exemple de la doc) permettant d'afficher les contenus des panels (<!-- Tab panes --> dans l'exemple de la doc).
Où est le code responsable de la génération du contenu des panels (une deuxième boucle normalement) ?
Enfin, chaque onglet de navigation doit posséder une balise a dont l'attribut href est égal à l'identifiant du panel correspondant, or pour l'instant tout tes onglets de navigation pointe sur le panel #tab_clients.
Cet attribut devrait être générer dynamiquement avec par exemple l'identifiant de l'utilisateur afin que chaque panel est un identifiant différent.
Bonne journée,
Bonjour Pitet,
Effectivement j'utilise bien togglable tabs et cela génère bien le nombre d'onglets en fonction de mon nombre de clients contenus dans ma BDD ! ;) Tout ça s'affiche grâce à une première boucle {% for %}.
Le code responsable de la génération des panels est chacun dans des vues différents que j'inclue dans ma vue principale.
Pour ce qui est des onglets je sais que l’attribut doit avoir un id unique permettant de pointer sur chaque panel. Je connais le problème et tu as juste répété ce que je venais d'expliquer ^^ C'est justement là que j'aimerai avoir la réponse ou alors une piste ! Comment faire pour que l'ID oit unique et que lorsque je clique sur chaque onglet le panel avec les infos correspondantes s’affiche correctement ? :/
Effectivement j'utilise bien togglable tabs et cela génère bien le nombre d'onglets en fonction de mon nombre de clients contenus dans ma BDD ! ;) Tout ça s'affiche grâce à une première boucle {% for %}.
Le code responsable de la génération des panels est chacun dans des vues différents que j'inclue dans ma vue principale.
Pour ce qui est des onglets je sais que l’attribut doit avoir un id unique permettant de pointer sur chaque panel. Je connais le problème et tu as juste répété ce que je venais d'expliquer ^^ C'est justement là que j'aimerai avoir la réponse ou alors une piste ! Comment faire pour que l'ID oit unique et que lorsque je clique sur chaque onglet le panel avec les infos correspondantes s’affiche correctement ? :/
Re bonjour,
J'ai bien rajouté l'attribut dans l'attribut href (et dans l'attribut id du panel). En revanche, cela ne fonctionne pas comme je le souhaite :/ Cela fonctionne bien pour le premier onglet, en revanche ne marche pas pour les autres onglets qui ont le même format #tab_cluster_{{ cluster.id }}
Est ce que tu aurais une idée de pourquoi pour le deuxième onglet par exemple il ne prend pas en compte ce format que je lui passe ? :/
J'ai bien rajouté l'attribut dans l'attribut href (et dans l'attribut id du panel). En revanche, cela ne fonctionne pas comme je le souhaite :/ Cela fonctionne bien pour le premier onglet, en revanche ne marche pas pour les autres onglets qui ont le même format #tab_cluster_{{ cluster.id }}
Est ce que tu aurais une idée de pourquoi pour le deuxième onglet par exemple il ne prend pas en compte ce format que je lui passe ? :/