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

    Voila, j’ai un petit problème. Je cherche le moyen de réécrire mes urls dynamiquement. Je m’explique : Mon site est de propose des offres d’emploi. Je voudrais rajouté dans l’url le titre de l’offre d’emplois et non l’id de l’offre d’emploi afin d’améliorer le référencement.

    Je ne sais pas si je suis accès clair, mais j’espère que quelqu’un pourra me donner une piste.

    Merci.
      • 6726
      • 7,075 Posts
      Etant donné ton post, j’imagine que tu n’as pas encore vu que MODx dispose nativement d’une fonctionnalité de ré-écriture d’URL smiley

      Pour l’instant, tu ne l’a pas activé et tu as des URLS du genre index.php?id=12

      Pour activer la ré-écriture d’URL c’est assez simple :

      Etape 1 : Tu vas dans Outils > Configuration > Réglages URLs simples >> Utiliser les URLs simples : coche Oui.
      Ensuite ajuste les réglages selon tes souhaits en lisant bien les texte d’aide. Je conseille notamment de régler "Générer automatiquement les alias" sur Oui et "Permettre les doublons d’alias" sur Non.

      Etape 2 :Connecte toi via FTP et renomme le fichier ht.access en .htaccess. Si MODx est installé dans un répertoire, édite le fichier et change la valeur de [tt]RewriteBase /[/tt] pour [tt]RewriteBase /mondossiermodx[/tt]

      Etape 3 : Toujours dans le client FTP, va dans manager/ et renomme le fichier ht.access en .htaccess afin que la ré-écriture d’URL ne soit pas activée dans le manager.

      Et voilà smiley

        .: COO - Commerce Guys - Community Driven Innovation :.


        MODx est l'outil id
        • 23728
        • 23 Posts
        Merci pour de m’avoir répondu.

        Si Si j’ai activé l’url simple. Il me réécrit bien l’url par rapport à l’alias donnée. Mais moi ce que je veux faire c’est de l’écriture d’url à partir de ma base de donnée. Je veux ressortir le titre d’une offre emploi et le rajouter dans l’url à la place : (url)?offre_emploi&id=1 (offre_emploi<=est l’alias de mon document que modx prend en url simple) en (url)?offre_emplois&développeur_php (exemple)

        J’espere être assez clair grin .
          • 6726
          • 7,075 Posts
          C’est bien ce que fait MODx wink

          Si tu regardes bien, l’alias d’un document est stocké dans le champs [tt]alias[/tt] de la table [tt]modx_site_content[/tt]

          Comme je disai pour que les alias soient automatiquement générés il faut choisir l’option "Générer automatiquement les alias".
          Et cela ne marche que pour les documents créé après l’activation de cette option. Si tu veux que tes alias soient explicites et non genre 1.html, 14.html... alors il faut ré-ouvrir les documents existants et modifier l’alias à la main pour que la valeur soit effectivement dans la base de données.

          En effet par défaut, index.php?id=18 aura comme alias 18.html
            .: COO - Commerce Guys - Community Driven Innovation :.


            MODx est l&#39;outil id
            • 23728
            • 23 Posts
            Oui ça j’ai vu. smiley

            L’url simple fonctionne très bien. Mais je crois que je ne me suis pas fait très bien comprendre. Bon je vais expliquer mon architecture : j’ai deux bases (celle de modx et une autre d’exploitation qui me sert a stocké les données (exemple : membre inscrit sur le site, offre emploi, produit etc..) et qui a été créé à la main (pas avec modx).

            Quand je créée une page sous modx, je lui donne l’alias. Exemple : mes_offres_emploi, je valide. Après, je regarde ce que ça donne sur mon site. www.monsite.net/mes_offres_emplois.php

            Bon tous ce la fonctionne très bien modx fait bien de de l’url simple.

            Bon maintenant j’ai un joli tableau avec toutes mes offres d’emploi. Quand je sélectionne une offre cela m’ouvre une autre page créer de la même facon (exemple www.monsite.net/mes_offres_emplois.php/détail_offre?id=5, détail_offre <= alias modx avec url simple et id<= identifiant rajouté en concaténant l’adresse). ici l’id est un identifiant utilisé pour récupérer les données de l’offre dans la seconde base (celle que j’ai créée).

            Bon moi ce que je voudrais faire c’est que je ne voudrais pas au niveau d’url avoir www.monsite.net/mes_offres_emplois.php/détail_offre?id=5 mais avoir www.monsite.net/mes_offres_emplois.php/détail_offre?développeur. L’id est remplacé par le titre de l’offre qui est un champ d’une table de la seconde base.

            Bon la je désespère si je n’arrive pas à me faire comprendre. :’(

              • 23728
              • 23 Posts
              Bon je vois personne n’a de solution. J’ai peut être une piste....Peut-on affecté la variable [*alias*] dans une page modx (template, snippet etc...) si oui cela pourrai résoudre mon problème.
                • 6726
                • 7,075 Posts
                OK je comprend mieux !

                Je ne me souviens pas où mais il y a des posts (côté english) sur ce sujet il me semble...

                Attention n’utilise pas [*alias*] car ce nom de TV est déjà pris par l’alias justement.
                Tu peux tout à fait affecter une TV à un template.

                Le principe d’avoir une TV qui permet de moduler le comportement des URLs simple existe déjà avec le plugin SEO Strict URLs

                Peut-être regarder de ce côté là pour inspiration...

                Ceci dit, je pense que ça doit être faisable avec une modif du .htaccess, mais je ne suis pas qualifié pour te donner les expressions régulières qui correspondent tongue
                  .: COO - Commerce Guys - Community Driven Innovation :.


                  MODx est l&#39;outil id
                  • 11975
                  • 2,542 Posts
                  Salut,

                  de ce que je comprends de ton problème c’est que tes scripts persos fonctionnent sur la base d’une variable nommée "id".
                  La solution la plus simple serait de changer le nom de la variable qui entre en conflit avec le fonctionnement de MODx dans sa gestion des urls.


                  :-)
                    Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                    • 23728
                    • 23 Posts
                    Merci pour vos réponses smiley

                    Je vais regardé coté English et du plugin. Pour répondre a heliotrop je n’ai pas de problème. Je veux juste faire de l’écriture d’url dynamique (en sortant des données d’une autre base). Donc je n’est pas de conflit mais merci pour ta réponse grin
                      • 17499 ☆ A M B ☆
                      • 872 Posts
                      Bonjour Popsicube,

                      aurais tu trouvé une solution pour ton problème?