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

    je continue mon flooding intensif et m’en excuse si la question a déjà été traité sur le forum francophone, ce qui ne semble pas être le cas.

    Soit cette arborescence donnée :

    - Bienvenue (1)
    - Fichier 1 (2)
    - Fichier 2 (3)
    - .....
    - Fichier 50 (50)

    Si je duplique par erreur le document "Bienvenue", alors modX va créer une nouvelle arborescence de ce type

    - Bienvenue (1)
    - Fichier 1 (2)
    - Fichier 2 (3)
    - .....
    - Fichier 50 (50)

    - Duplicate of Bienvenue (51)
    - Fichier 1 (52)
    - Fichier 2 (53)
    - .....
    - Fichier 50 (100)

    Je souhaiterais donc, après suppression du document 51 (et par extension, les documents fils), que le prochain document créé soit d’id 51 pour plus de cohérence (la notion de cohérence reste ici relative, elle n’engage que moi wink ).

    Ce qui signifierait reinitialiser l’autoincrement du champs id de la table "site_content"...

    Est ce possible sans passer par PhpMyAdmin ?

    Merci par avance




      • 16732
      • 592 Posts
      Je ne pense pas que MODx permettent ce genre de chose mais avec un petit hack et du SQL ça devrait marcher.

      Par exemple tu pourrais , une fois que tu as supprimé les documents, supprimer le champ id le recréer à la volé avec des ALTER TABLE.
      Tu auras donc une colonne remplie automatiquement avec des id toutes neuves laugh


      ALTER TABLE site_content DROP COLUMN id;
      ALTER TABLE site_content ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (id);

      Je n’ai pas testé.

      Je crois que l’on peut aussi utiliser un INSERT_ID = xx avant un INSERT .... pas testé non plus.
        • 20488
        • 353 Posts
        Ok,

        personnellement, je passais par cette ligne
        ALTER TABLE `modx_site_content`   AUTO_INCREMENT =numero 


        mais je me demandais si il n’était pas possible de gérer cela en espace admin. Cela dit un petit plugin serait aisément implémentable, je vais me pencher sur la question. wink

        ++

          • 16732
          • 592 Posts
          Oui effectivement cette syntaxe est aussi ok.

          Personnellement je n’ai pas eu souvent besoin de modifier la gestion d’un auto increment car normalement ces champs n’ont pas vraiment vocation à être soumis à un utilisateur final (autre qu’un dev smiley tout du moins).
          Alors que ton doc ait l’id 26 ou 50 ton moteur lui il s’en moque grin ... je pense même que ton client aussi d’ailleurs wink



            • 20488
            • 353 Posts
            On est bien d’accord sur ce point. wink

            C’était juste pour éviter de me retrouver trop rapidement à l’indice 5054998408, peu lisible en ce qui concerne la gestion des documents dans l’arborescence de l’espace d’administration.

            ;)