We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 36961
    • 3 Posts
    Bonjour,

    Sans en être sur à 100%, il me semble avoir un problème sur l'utilisation du wayfinder et du paramètre &context.

    Ma config :
    Je travaille avec modx revolution sur windows 7 pour le moment en local.

    Sur mon site, j'ai deux contextes : "web" et "webeng". Je les ai configurés en suivant
    les instructions de ce site (http://www.h-quadrat.com/techblog/111-modx-revolution-multi-domain-context-installation-english.php)

    j'ai donc finalement obtenu deux adresses qui fonctionnent :
    context web : http://127.0.0.1:8888/fr/
    context webeng : http://127.0.0.1:8888/en/
    Pour info, j'utilise également Babel et les friendly url.


    Dans mon context web :

    J'utilise Wayfinder dans un modèle pour créer mon menu avec un sous menu.

    J'appelle le snippet comme ceci :

     [[Wayfinder? &level=`2`  &startId=`0` &innerTpl=`WFD_innerTpl` &outerTpl=`WFD_outerTpl` &levelClass=`niveau` &activeParentRowTpl=`WFD_hereclass`  &hereTpl=`WFD_hereclass2` &hideSubMenus=`1`]]


    Dans mon context webeng :

    Le premier document est la page Home (id="109")

    J'ai crée un second modèle dans lequel j'ai modifié mon appel au Wayfinder :

    [[Wayfinder? &level=`2`  &startId=`0` &contexts=`webeng` &startIdContext=`109`  &innerTpl=`WFD_innerTpl` &outerTpl=`WFD_outerTpl` &levelClass=`niveau` &activeParentRowTpl=`WFD_hereclass`  &hereTpl=`WFD_hereclass2` &hideSubMenus=`1`]]



    Mon problème :

    Le menu s'affiche correctement sur la page Home mais lorsque je clique sur l'un des boutons de mon menu, je n'accède pas à la page souhaités. La page Home est automatiquement rechargée.

    Pour le moment, je n'ai pas vraiment trouvé de solutions sur le net.

    Je ne suis pas non plus certain que mon problème vient de Wayfinder mais je me permet d'envoyer ce post au cas ou vous auriez une solution à me proposer ?

    Merci d'avance [ed. note: synthesevideo last edited this post 12 years, 8 months ago.]
    • Bonjour synthesevideo,

      Tout d'abord je pense qu'il vous faudra éditer votre poste afin de mettre vos appels Wayfinder dans une balise code (tel que vous l'avez fait, les forums doivent parser les tags). Pour ceux qui souhaiteraient voir les appels Wayfinder, vous trouverez une issue sur Github.

      D'après ce que vous expliquez, il semblerait que lorsque vous utilisez votre navigation, MODX vous envoie vers la page d'erreur (erreur 404), qui par défaut est la ressource ayant pour ID 1. Pouvez-vous indiquer quelle est l'adresse de destination de vos liens du contexte weben ? (site.tld/en/page ou site.tld/page ?).

      Il serait également intéressant de voir votre fichier htaccess. Je n'ai jamais utilisé les contextes en tant que « sous répertoire », mais je suppose que vous devriez avoir un RewriteBase /en/ (ou /fr/).

      Au passage, il me semble inutile de spécifier le contexte et le startIdContext dans votre appel WF, celui-ci utilisant par défaut le contexte courant (de mémoire, c'est surtout utile si vous souhaitez faire des liens vers des ressources situées dans d'autres contextes).

      J'espère que cela vous mettra sur la voie.
        • 36961
        • 3 Posts
        Bonjour Romain,

        Tout d'abord, merci d'avoir répondu si vite. Petit oubli concernant les balises codes, je m'en excuse.

        Effectivement, Modx doit m'envoyer vers la page erreur 404 (ma page accueil ayant pour ID 1 et je n'ai pas encore configuré la page erreur)

        Pour la version anglaise, mes liens sont du type site.tld/en/page.

        En ce qui concerne les contextes, j'ai aussi utilisé la méthode de ce site http://www.belafontecode.com/how-to-host-multiple-sub-domains-on-modx-revolution/
        qui effectivement consiste à créer un sous-répertoire pour chaque contexte. Mon but étant d'obtenir les adresses du type site.tld/fr/page et site.tld/en/page (je ne sais pas si il existe une méthode plus simple mais c'est la seule qui pour moi marchait à peu près)

        J'ai donc un fichier .htaccess à la racine de mon site (dossier www) et un sous dossier "en" dans lequel j'ai placé 3 fichiers .htaccess, configcore.php et index.php, que j'ai modifiés comme indiqué dans la méthode ci-dessus. Vous trouverez ces fichiers en pièce jointe.

        Depuis, j'ai certainement modifié quelques trucs à l'intérieur pour que ça fonctionne, mais j'avoue être un peu perdu, je ne connais pas du tout le langage utilisé dans les .htaccess

        Ok pour l'utilisation des paramètres contexte et startIdContext. Merci pour l'info.

        Je continue mes recherches.

        Merci





          • 36961
          • 3 Posts
          Bonjour,

          j'ai fini par trouvé le problème, qui venait effectivement des .htaccess mal configurés, notamment celui situé dans mon sous-dossier /en/.
          Le RewriteBase était : / au lieu de /en/, Merci Romain pour m'avoir fait penser à ça.

          Je ne sais pas si ce que j'ai fais est très propre, mais ça fonctionne.
          Ci-joint mes .htaccess tels qu'ils sont aujourd'hui.