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 :

is_subpath dans twig


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Par défaut is_subpath dans twig
    Salut a tous,

    (je post ma question ici car je ne trouve pas de sous-forum twig donc désolé si j'ai loupé le bon forum)

    voila j'ai repéré lors d'un tuto vidéo que la personne utilise une fonction is_subpath

    voici la ligne de code concernée dans la vidéo :
    Code twig : Sélectionner tout - Visualiser dans une fenêtre à part
    <li class="nav-item {{ is_subpath('ad_new') ? 'active' }}">

    d’après cette personne, cette fonction est utile pour savoir si une route fait partie d'une route parent, donc très utile pour les class active etc

    seulement voila.. J'ai voulu m'en servir dans mon projet et j'ai une belle erreur :
    Unknown "is_subpath" function.
    la fonction est inconnue au bataillon !

    J'ai fait des recherches et effectivement je ne trouve aucune trace de cette fonction (c'est un mystère !) Connaissez-vous une fonction similaire dans twig pour faire ce genre de chose ? je vous remercie.

  2. #2
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut
    Salut,

    Je ne connais pas cette fonction non plus, mais je te recommande de travailler avec la route, d'autant que twig offre de nouveaux opérateurs comme "starts". Pourquoi la route et pas le path ? La route, je m'en sers pour les classes actives des menus. Le path, je le laisse aux équipes que se charge du seo, des landing pages, et de l'optimisation "google". Ainsi, ils peuvent faire les choix qu'ils veulent dans l'URL, ça ne touche pas le code, les menus s'activent correctement, car, nous, on utilise le nom de la route et non pas le chemin.

    J'ai mis une politique de nommage des routes très simple. Elles commencent toutes par une sorte de rubrique qui correspond au menu. Par exemple, tout ce qui est accessible depuis le menu utilisateur, commence par user. Tout ce qui est accessible depuis le menu déroulant du client, commence par customer, etc.

    Voici un exemple de code que j'utilise.

    La première ligne montre comment récupérer la route.
    La seconde ligne montre comment activer l'entête du menu client (menu en bootstrap 4.4)
    La troisième ligne montre comment activer le dernier menu
    Code twig : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    {% set route = app.request.get('_route') %}
    ...
    ...
    <li class="nav-item dropdown {{ route starts with 'customer' ? 'active' }}">
    ...
    ...
    <a class="dropdown-item {{ route == 'customer_order_credit' ? 'active' }}">
    Le code est plus simple qu'avec des méthodes bizarres. A mon avis, le développeur a du créer/importer une extension twig qui fournit cette méthode.
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  3. #3
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Par défaut
    d'accord je vois.. je mets de coté ton code le temps de m'occuper de la fameuse requête sur l'autre post

    oui il est fort possible qu'il importe cette function via une extension twig car il bosse bien avec twig donc je ne vois pas d'autre chose possible..

  4. #4
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Par défaut
    après une recherche en profondeur, j'ai atterri ici :

    https://docs.family-life.fr/fr/route...uter-pour-twig

    il s'agit donc bien une extension twig (officielle) ! reste a savoir comment installer cette extension

Discussions similaires

  1. [2.x] Récupérer la valeur d'une fonction dans twig
    Par ilya-bhn dans le forum Symfony
    Réponses: 3
    Dernier message: 13/03/2015, 12h28
  2. [2.x] Récuprer une date dans twig
    Par MaitrePylos dans le forum Symfony
    Réponses: 2
    Dernier message: 13/02/2012, 15h00
  3. [2.x] Boucle for dans TWIG
    Par hx.jonathan dans le forum Symfony
    Réponses: 3
    Dernier message: 02/11/2011, 10h18
  4. [2.x] parcourir les éléments d'un formulaire dans twig
    Par Sergei75 dans le forum Symfony
    Réponses: 10
    Dernier message: 28/10/2011, 19h47
  5. [2.x] Routing avec les annotations, path dans twig
    Par jfsenechal dans le forum Symfony
    Réponses: 3
    Dernier message: 06/09/2011, 09h39

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