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 :

SERVICE non reconnu par TWIG


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 7
    Par défaut SERVICE non reconnu par TWIG
    Bonjour,

    j'essai de suivre le totu officiel du KNPMenuBundle, chapitre "creating menu as services":
    https://symfony.com/doc/current/bund...u_service.html

    mon template twig ne reconnait pas un service:
    An exception has been thrown during the rendering of a template ("You have requested a non-existent service "app.main_menu".").
    #service.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    app.menu_builder:
            class: AppBundle\Menu\FactoryInterface\MenuBuilder
            arguments:
                - "@knp_menu.factory"
    app.main_menu:
            class: Knp\Menu\MenuItem
            factory: 
                - "@app.menu_builder"
                - createMainMenu
            arguments: ["@request_stack"]
            tags:
                - { name: knp_menu.menu, alias: main }
    #template.html.twig
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {# empty Twig template #}
    {% extends "::base.html.twig" %}
    {% block body %}
                {{ knp_menu_render('main') }}
    {% endblock %}
    #MenuBuilder.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    namespace AppBundle\Menu\FactoryInterface;
     
    use Knp\Menu\FactoryInterface;
    use Symfony\Component\HttpFoundation\RequestStack;
     
    class MenuBuilder {
        private $factory;
        public function __construct(FactoryInterface $factory) {
            $this->factory = $factory;
        }
        public function createMainMenu(RequestStack $requestStack) {
            $menu = $this->factory->createItem('root');
            $menu->addChild('Home', array('route' => 'homepage'));
            return $menu;
        }
    }

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    Si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php bin/console debug:container
    Est-ce que tes services sont listés?

    D'après cette page de doc, si tu utilises Symfony 2.5 ou plus vieux, tu dois modifier la façon dont tu déclares le factory comme indiqué ici.

  3. #3
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 7
    Par défaut
    merci pour ta réponse

    le service est bien listé et la version de symfony est là 3.3.5:
    Nom : sss.png
Affichages : 344
Taille : 4,9 Ko

    finalement j'ai ajouté l'option "public" et ça a fonctionné

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    Ah oui. Comme tu utilisais l'ancienne manière de déclarer les services, je pensais que tu étais en 2.*

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. definition de type non reconnu par g++ ou erreur?
    Par harsh dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 09/06/2006, 01h42
  2. fichier .cc non reconnu par VC++
    Par xanax dans le forum MFC
    Réponses: 4
    Dernier message: 15/05/2006, 15h13
  3. Antivirus non reconnu par centre de sécurité
    Par shukin dans le forum Windows XP
    Réponses: 8
    Dernier message: 04/04/2006, 15h22
  4. [API]JTAPI non reconnu par eclipse
    Par julio84 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 15/04/2005, 14h03
  5. [Lomboz] [JBoss] JBoss 3.2.6 non reconnu par Lomboz ?
    Par romain3395 dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 17/12/2004, 16h35

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