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 :

Site multilingue avec variable dans l'URL


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 15
    Points
    15
    Par défaut Site multilingue avec variable dans l'URL
    Bonjour à tous.

    Je souhaite re-coder mon site sous symfony2.

    Je souhaite que celui-ci soit multi-langues. Voici ce que j'ai fait pour le moment:

    J'ai donc instaurer dans chaque path une variable _locale qui déterminera la langue. Je veux donc que les URL soit de cette forme :www.monsite.com/fr ou www.monsite.com/de, etc.. Pour les autres pages, ça suivra la même logique : www.monsite.com/fr/documents , etc...

    Voici mon routing.yml de base (dans app) :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    collaide_domain:
        resource: "@CollaideDomainBundle/Resources/config/routing.yml"
        prefix:   /{_locale}/domains
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    collaide_document:
        resource: "@CollaideDocumentBundle/Resources/config/routing.yml"
        prefix:   /{_locale}/documents
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    collaide_user:
        resource: "@CollaideUserBundle/Resources/config/routing.yml"
        prefix:   /{_locale}
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    fos_user_security:
        resource: "@FOSUserBundle/Resources/config/routing/security.xml"
        prefix: /{_locale}
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    fos_user_profile:
        resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
        prefix: /{_locale}/profile
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    fos_user_register:
        resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
        prefix: /{_locale}/register
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    fos_user_resetting:
        resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
        prefix: /{_locale}/resetting
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    fos_user_change_password:
        resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
        prefix: /{_locale}/profile
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    collaide_main:
        resource: "@CollaideMainBundle/Resources/config/routing.yml"
        prefix:   /{_locale}
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
    Le problème, c'est que la j'ai énormément de code à double ! Je viens donc vous demander si ma façon de procédé est correct. Sinon, comment dois-je procéder pour faire les choses le plus proprement possible?

    J'ai aussi un autre soucis. J'aimerais, dans le header, donner la possibilité à l'utilisateur de choisir la langue. Pour le moment, j'ai donc mis ça dans le layout de base (dans app) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <ul id="choose_language">{{"body.language.choose"|trans}}:
                            <li><a href="{{path('collaide_main_index', {'_locale':'fr'})}}">{{"body.language.french"|trans}}</a> </li>
                            <li><a href="{{path('collaide_main_index', {'_locale':'en'})}}">{{"body.language.english"|trans}}</a> </li>
                            <li><a href="{{path('collaide_main_index', {'_locale':'de'})}}">{{"body.language.german"|trans}}</a></li>
                            <li><a href="{{path('collaide_main_index', {'_locale':'dev'})}}">{{"body.language.developement"|trans}}</a></li>
                        </ul>

    Le problème avec ce code, c'est que lorsque l'utilisateur clique sur une langue, il est redirigé directement sur la page d'accueil (normal, vu la route). Comme faire pour donc mettre la route de la page actuelle ?

    J'espère avoir été assez clair dans l'explication de mon problème.

    Merci d'avance pour vos réponses.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 11
    Points : 15
    Points
    15
    Par défaut
    Salut, voila comment j'ai fait moi,
    Dans /app/config/routing.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
     
    use Symfony\Component\Routing\RouteCollection;
     
    $collection = new RouteCollection();
     
    $collection->addCollection($loader->import("@NamespaceTonBundle/Resources/config/routing.yml"));
     
    $collection->addPrefix('/{_locale}', array('_locale' => 'fr'), array('_locale' => 'fr|en'));
     
    return $collection;
    Et dans ton config.yml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        router:
            resource: "%kernel.root_dir%/config/routing.php"
    Et sinon pour changer de langue, tu a le nom de la route disponible dans twig : app.request.attributes.get('_route'), ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {{ path(app.request.attributes.get('_route'), {'_locale':'fr'}) }}

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Alors déjà, merci énormément !!

    Pour les path, ça fonctionne parfaitement !

    Cependant, pour le routing.php ça ne fonctionne pas encore, mais je pense qu'on est pas loin du tout...

    Déjà, moi j'ai mis mes routes principales dans /app/resources/config/routing.yml (CF dans mon premier poste). Ce routing.yml appelle les routings des bundles.. Normal.

    Ensuite, j'ai créer un /app/resources/config/routing.php comme tu m'as dit de faire. J'ai mis dedans le code que tu m'as donné. Cependant dans le code que tu me donne tu dis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $collection->addCollection($loader->import("@NamespaceTonBundle/Resources/config/routing.yml"));
    Mais moi j'aimerais que $collection contienne toutes les routes, et pas seulement celle d'un bundle. J'ai donc changer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $collection->addCollection($loader->import("/app/Resources/config/routing.yml"));
    Est-ce aussi correct ainsi ?

    Ensuite j'ai modifié mon config.yml ainsi :
    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
    17
    imports:
        - { resource: parameters.yml }
        - { resource: security.yml }
     
    framework:
        #esi:             ~
        translator:      { fallback: fr }
        session:
            default_locale: fr
        secret:          %secret%
        router:
            resource: "%kernel.root_dir%/config/routing.php"
            resource: "%kernel.root_dir%/config/routing.yml"
            strict_requirements: %kernel.debug%
        form:            true
        csrf_protection: true
    ....... etc.....
    Et puis j'ai viré les _local de mon /app/resources/config/routing.yml (vu que le routing.php les ajoutes).

    J'ai ensuite lancé une page http://localhost/collaide/web/app_de.../domains/crud/
    Mais il me dit qu'il n'y a pas de route pour cette page.. J'ai ensuite essayer d'enlever le /fr et ça fonctionnait (il n'a donc pas ajouter les prefix /_local)..
    Donc pour le moment ça ne fonctionne pas.

    Sais-tu d'ou peut provenir le problème ?

    Merci beaucoup, c'est déjà super que tu m'as donné cette fonction twig !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {{path(app.request.attributes.get('_route'), {'_locale':'dev'})}}

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 11
    Points : 15
    Points
    15
    Par défaut
    En fait, le routing.php remplace le routing.yml. Donc tu oublie le
    resource: "%kernel.root_dir%/config/routing.yml"
    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
     
    <?php
     
    use Symfony\Component\Routing\RouteCollection;
     
    $collection = new RouteCollection();
     
    $collection->addCollection($loader->import("@NamespaceTonBundle/Resources/config/routing.yml"));
    $collection->addCollection($loader->import("@NamespaceTonBundle2/Resources/config/routing.yml"));
    $collection->addCollection($loader->import("@NamespaceTonBundle3/Resources/config/routing.yml"));
     
     
    $collection->addPrefix('/{_locale}', array('_locale' => 'fr'), array('_locale' => 'fr|en'));
     
    return $collection;

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Merci pour ces précisions !

    Et comment j'ajoute alors mes prefix par bundle ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    collaide_domain:
        resource: "@CollaideDomainBundle/Resources/config/routing.yml"
        prefix:   /{_locale}/domains
     
    collaide_document:
        resource: "@CollaideDocumentBundle/Resources/config/routing.yml"
        prefix:   /{_locale}/documents
    Et j'ai une deuxième question..
    J'ai la route pour ma page d'acceuil :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    collaide_main:
        resource: "@CollaideMainBundle/Resources/config/routing.yml"
        prefix:   /{_locale}
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
    _locale devrait être facultatif mais il ne l'ai pas. Si je vais sur la page /, il ne trouve rien, je dois obligatoirement mettre en, fr, de ou dev..

    Merci d'avance !

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 11
    Points : 15
    Points
    15
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // app/config/routing.php
    use Symfony\Component\Routing\RouteCollection;
     
    $collection = new RouteCollection();
    $collection->addCollection($loader->import("@CollaideDomainBundle/Resources/config/routing.yml"), '/domains');
    $collection->addCollection($loader->import("@CollaideDocumentBundle/Resources/config/routing.yml"), '/documents');
     
    $collection->addPrefix('/{_locale}', array('_locale' => 'fr'), array('_locale' => 'en|fr|de|dev'));
     
    return $collection;
    Voila comment ton fichier devrait se présenter. La local par défaut est bien définie ici : array('_locale' => 'fr'), donc logiquement quand tu accède depuis / , ça devrait fonctionner.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Merci beaucoup pour tes conseils, on s'y approche !

    C'est vraiment bizare.. Le code suivant en yml fonctionne :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    collaide_domain:
        resource: "@CollaideDomainBundle/Resources/config/routing.yml"
        prefix:   /{_locale}/domains
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    collaide_document:
        resource: "@CollaideDocumentBundle/Resources/config/routing.yml"
        prefix:   /{_locale}/documents
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    collaide_user:
        resource: "@CollaideUserBundle/Resources/config/routing.yml"
        prefix:   /{_locale}
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    fos_user_security:
        resource: "@FOSUserBundle/Resources/config/routing/security.xml"
        prefix: /{_locale}
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    fos_user_profile:
        resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
        prefix: /{_locale}/profile
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    fos_user_register:
        resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
        prefix: /{_locale}/register
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    fos_user_resetting:
        resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
        prefix: /{_locale}/resetting
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    fos_user_change_password:
        resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
        prefix: /{_locale}/profile
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
     
    collaide_main:
        resource: "@CollaideMainBundle/Resources/config/routing.yml"
        prefix:   /{_locale}
        defaults: {_locale: null}
        requirements:
            _locale: en|fr|de|dev
    Je l'ai modifié par celui la en 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
    17
    18
    19
    20
    <?php
    // Ajouter Local a toutes les routes
    use Symfony\Component\Routing\RouteCollection;
     
    $collection = new RouteCollection();
     
    $collection->addCollection($loader->import("@CollaideDomainBundle/Resources/config/routing.yml", '/domains'));
    $collection->addCollection($loader->import("@CollaideDocumentBundle/Resources/config/routing.yml", '/documents'));
    $collection->addCollection($loader->import("@CollaideUserBundle/Resources/config/routing.yml"));
    $collection->addCollection($loader->import("@FOSUserBundle/Resources/config/routing/security.xml"));
    $collection->addCollection($loader->import("@FOSUserBundle/Resources/config/routing/profile.xml", '/profile'));
    $collection->addCollection($loader->import("@FOSUserBundle/Resources/config/routing/registration.xml", '/register'));
    $collection->addCollection($loader->import("@FOSUserBundle/Resources/config/routing/resetting.xml", '/resetting'));
    $collection->addCollection($loader->import("@FOSUserBundle/Resources/config/routing/change_password.xml", '/profile'));
    $collection->addCollection($loader->import("@CollaideMainBundle/Resources/config/routing.yml"));
     
     
    $collection->addPrefix('/{_locale}', array('_locale' => 'fr'), array('_locale' => 'en|fr|de|dev'));
     
    return $collection;
    Et j'obitiens le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cannot load resource "@CollaideDomainBundle/Resources/config/routing.yml". Make sure the "CollaideDomainBundle" bundle is correctly registered and loaded in the application kernel class.
    J'ai pourtant bien clear les caches et tout.... Et dans la doc, C'est mis qu'il faut faire comme ça : http://symfony.com/doc/current/book/...mported-routes

    Je ne vois pas d'ou proviens l'erreur. Mon bundle est bien sur importé dans le kernel (du moins je n'ai rien modifié pour qu'il ne le soit plus...

    J'ai modifié ça dans mon config.yml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    router:
            resource: "%kernel.root_dir%/config/routing.php"
    Et ça dans le routing_dev.yml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    _main:
        resource: routing.php
    Si quelqu'un a une idée, merci d'avance !

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 11
    Points : 15
    Points
    15
    Par défaut
    Tu a tenté d'enlever la ligne suivante ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $collection->addCollection($loader->import("@CollaideDomainBundle/Resources/config/routing.yml", '/domains'));
    Ça ne fonctionne pas uniquement avec ce bundle ? Chez moi cette configuration marche parfaitement.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Oui, oui, j'ai essayé de virer les uns après les autres.

    Voici un autre message d'erreur que j'ai sur la même page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LogicException: The section "509b9d135e497" has been started at an other level and can not be opened.
    Pour inclure mon routing.php au lieu du routing.yml, j'ai modifier dans config.yml et dans routing_dev.yml ...

    Vraiment bizarre... Si quelqu'un a une idée..

    Il y a probablement un problème plus haut. Car tous mes fichiers de config sont en .yml, sauf mon routing.php..

    Merci beaucoup en tout cas !

  10. #10
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 11
    Points : 15
    Points
    15
    Par défaut
    Je ne sais pas trop. Et si tu tente remettre le routing en yml, ça fonctionne a nouveau ?

  11. #11
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Oui, oui, si j'utilise le routing.yml tout fonctionne parfaitement. Le seul truc embêtant, c'est que j'ai du code répété (CF premier post de mon routing.yml).

    Mais, je peux continuer à travailler comme ça sans problème, c'est juste embêtant de ne pas comprendre d'ou provient le problème.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 11
    Points : 15
    Points
    15
    Par défaut
    Oui bien sur, c'est juste pour tenter de voir d’où vient le problème. Peut tu me montrer le config.yml ? car ton fichier routing.php et bon.

  13. #13
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Oui, oui, merci pour ton aide. Je suis peut êtres passé à côté de quelque chose :

    config.yml
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    imports:
        - { resource: parameters.yml }
        - { resource: security.yml }
     
    framework:
        #esi:             ~
        translator:      { fallback: fr }
        session:
            default_locale: fr
        secret:          %secret%
        router:
            resource: "%kernel.root_dir%/config/routing.php"
            #resource: "%kernel.root_dir%/config/routing_old.yml"
            strict_requirements: %kernel.debug%
        form:            true
        csrf_protection: true
        validation:      { enable_annotations: true }
        templating:      { engines: ['twig'] } #assets_version: SomeVersionScheme
        default_locale:  %locale%
        trust_proxy_headers: false # Whether or not the Request object should trust proxy headers (X_FORWARDED_FOR/HTTP_CLIENT_IP)
        session:         ~
     
    # Twig Configuration
    twig:
        debug:            %kernel.debug%
        strict_variables: %kernel.debug%
     
    # Assetic Configuration
    assetic:
        debug:          %kernel.debug%
        use_controller: false
        bundles:        [ ]
        #java: /usr/bin/java
        filters:
            cssrewrite: ~
            #closure:
            #    jar: %kernel.root_dir%/Resources/java/compiler.jar
            #yui_css:
            #    jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar
     
    # Doctrine Configuration
    doctrine:
        dbal:
            driver:   %database_driver%
            host:     %database_host%
            port:     %database_port%
            dbname:   %database_name%
            user:     %database_user%
            password: %database_password%
            charset:  UTF8
     
        orm:
            auto_generate_proxy_classes: %kernel.debug%
            auto_mapping: true
     
    # Swiftmailer Configuration
    swiftmailer:
        transport: %mailer_transport%
        host:      %mailer_host%
        username:  %mailer_user%
        password:  %mailer_password%
        spool:     { type: memory }
     
     
    fos_user:
        db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
        firewall_name: main
        user_class: Collaide\UserBundle\Entity\User
    config_dev.yml
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    imports:
        - { resource: config.yml }
     
    framework:
        router:   { resource: "%kernel.root_dir%/config/routing_dev.yml" }
        profiler: { only_exceptions: false }
     
    web_profiler:
        toolbar: true
        intercept_redirects: false
     
    monolog:
        handlers:
            main:
                type:  stream
                path:  %kernel.logs_dir%/%kernel.environment%.log
                level: debug
            firephp:
                type:  firephp
                level: info
     
    assetic:
        use_controller: true
     
    #swiftmailer:
    #    delivery_address: me@example.com
    routing_dev.yml
    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
    _wdt:
        resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml"
        prefix:   /_wdt
     
    _profiler:
        resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml"
        prefix:   /_profiler
     
    _configurator:
        resource: "@SensioDistributionBundle/Resources/config/routing/webconfigurator.xml"
        prefix:   /_configurator
     
    _main:
        #resource: routing_old.yml
        resource: routing.php
    AppKernel.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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?php
     
    use Symfony\Component\HttpKernel\Kernel;
    use Symfony\Component\Config\Loader\LoaderInterface;
     
    class AppKernel extends Kernel
    {
        public function registerBundles()
        {
            $bundles = array(
                new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
                new Symfony\Bundle\SecurityBundle\SecurityBundle(),
                new Symfony\Bundle\TwigBundle\TwigBundle(),
                new Symfony\Bundle\MonologBundle\MonologBundle(),
                new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
                new Symfony\Bundle\AsseticBundle\AsseticBundle(),
                new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
                new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
                new JMS\AopBundle\JMSAopBundle(),
                new JMS\DiExtraBundle\JMSDiExtraBundle($this),
                new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(),
                new Collaide\MainBundle\CollaideMainBundle(),
                new Collaide\DocumentBundle\CollaideDocumentBundle(),
                new Collaide\DomainBundle\CollaideDomainBundle(),
                new Collaide\UserBundle\CollaideUserBundle(),
                new FOS\UserBundle\FOSUserBundle(),
            );
     
            if (in_array($this->getEnvironment(), array('dev', 'test'))) {
                $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
                $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
                $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
            }
     
            return $bundles;
        }
     
        public function registerContainerConfiguration(LoaderInterface $loader)
        {
            $loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
        }
    }
    routing.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
    17
    18
    19
    20
    <?php
    // Ajouter Local a toutes les routes
    use Symfony\Component\Routing\RouteCollection;
     
    $collection = new RouteCollection();
     
    $collection->addCollection($loader->import("@CollaideDomainBundle/Resources/config/routing.yml", '/domains'));
    $collection->addCollection($loader->import("@CollaideDocumentBundle/Resources/config/routing.yml", '/documents'));
    $collection->addCollection($loader->import("@CollaideUserBundle/Resources/config/routing.yml"));
    $collection->addCollection($loader->import("@FOSUserBundle/Resources/config/routing/security.xml"));
    $collection->addCollection($loader->import("@FOSUserBundle/Resources/config/routing/profile.xml", '/profile'));
    $collection->addCollection($loader->import("@FOSUserBundle/Resources/config/routing/registration.xml", '/register'));
    $collection->addCollection($loader->import("@FOSUserBundle/Resources/config/routing/resetting.xml", '/resetting'));
    $collection->addCollection($loader->import("@FOSUserBundle/Resources/config/routing/change_password.xml", '/profile'));
    $collection->addCollection($loader->import("@CollaideMainBundle/Resources/config/routing.yml"));
     
     
    $collection->addPrefix('/{_locale}', array('_locale' => 'fr'), array('_locale' => 'en|fr|de|dev'));
     
    return $collection;

    J'ai encore vérifié, je ne trouve rien qui me parait faut. Le .php et .yml peuvent bien s’entremêler? Car mon routing_dev est en .yml.

    Merci d'avance.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 11
    Points : 15
    Points
    15
    Par défaut
    Et bien je sèche, je ne vois vraiment pas ce qui peut clocher. Chez moi cette configuration fonctionne parfaitement.

    Tu peut me filer une capture d'écran de toute ton erreur ? avec la trace et tout et tout.

  15. #15
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Voici un document word avec toute la page d'erreur :

    http://fr.packupload.com/7JLB1E9X43N


  16. #16
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 11
    Points : 15
    Points
    15
    Par défaut
    C'est vraiment bizarre toute cette affaire ^^ Je ne sais pas vraiment quoi faire. J'ai regardé tes logs et tout, et je ne comprend pas pourquoi ça fait ça.

  17. #17
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    J'avoue hahaha.

    Je vais regarder en détaille tout ça et je te tiens au courant !

    En tout cas, merci pour ton aide !

    Si une idée viens à quelqu'un n'hésitez pas !
    Merci

  18. #18
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Au final, j'ai décidé de partir sur un framework beaucoup plus simple, j'avais trop de problème avec symfony2. Et je déteste quand des choses ne fonctionnent pas sans que je ne sache pourquoi...

    Merci en tout cas pour ton aide.

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 36
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par Texicitys Voir le message
    Au final, j'ai décidé de partir sur un framework beaucoup plus simple, j'avais trop de problème avec symfony2. Et je déteste quand des choses ne fonctionnent pas sans que je ne sache pourquoi...

    Merci en tout cas pour ton aide.
    Juste par curiosité, vers quel framework t'orientes-tu ?

  20. #20
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Salut !

    On est en train de chercher un framework qui nous plait (on est 2 sur le projet).
    Pour le moment, on va tester : CodeIgniter. Ça a l'air pas mal, le code est facile à comprendre..

    Cependant, ça à l'air moins flexible.

    Bref, je vais tester ce framework pendant un moment et peut être y ajouter doctrine2 et twig.

    Si vous en avez des plus flexible, je suis preneur.

    Merci

Discussions similaires

  1. URL avec variable dans le src d'une image
    Par PedroBD dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 24/04/2014, 15h29
  2. Réponses: 5
    Dernier message: 16/12/2012, 21h21
  3. Envoi de variable avec incrément dans l'URL
    Par Hybride76 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/03/2011, 14h23
  4. [MySQL] Lien avec variable dans l'URL
    Par mikael2235 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/01/2010, 08h33
  5. [Tableaux] Variable dans l'url avec EasyPhp 1.8
    Par zoheir_hm dans le forum Langage
    Réponses: 6
    Dernier message: 24/06/2006, 16h14

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