10'000e article / articles à 5 chiffres

nibunibu Member
août 2011 modifié dans Modifications
Bonjour à tous,

Dans le cadre d'un projet, je souhaite importer des articles directement par FTP. Ces articles sont générés par un XML que je splitte en plein de petits XML et dont je modifie les champs pour que ça match avec Pluxml.

Mon problème se situe dans la génération du nom des XML... c'est que le ID dont je dispose dans mes XML est à 5 chiffres et pas à 4 comme les numéros d'article Pluxml... (il est assez important que je garde cet ID)

Ma question est donc, comment permettre à Pluxml de gérer des articles XML du type :

00001.001.001.201108061739.premier-article.xml
--> au lieu de
0001.001.001.201108061739.premier-article.xml

Merci de votre aide! :D

Réponses

  • nibu a écrit:
    Dans le cadre d'un projet, je souhaite importer des articles directement par FTP. Ces articles sont générés par un XML que je splitte en plein de petits XML et dont je modifie les champs pour que ça match avec Pluxml.
    Peux-tu nous dire comment tu procèdes ? Car dans le cadre de migration vers PluXml à partir d'autre CMS, le flux XML est souvent utilisé. Ta méthode serait donc un outil de conversion universel vers PluXml. ;)
  • StéphaneStéphane Member, Former PluXml Project Manager
    ça demande à revoir tous le code de pluxml. très gros boulot. pas infaisable mais trèès lourd à faire.
    - revoir les expressions régulières
    - revoir la numérotation des articles
    - revoir des écrans
    - etc, etc...

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • nibunibu Member
    Je me sert du logiciel "firstobject", vraiment bien et simple d'utilisation (est gratuit). --> http://www.firstobject.com

    Ma marche à suivre est la suivante:

    - Je pars d'un gros XML dont des noeuds principaux sont la balise "OBJET".
    - Par un BATCH aidé de switch.exe, je renomme à la volée les <OBJET> et </OBJET> en <document> et </document>, est modifie les champs pour que ça match avec Pluxml.
    - Grace à firstobject et toujours un BATCH, je splitte au niveau du nouveau noeud <document> et génère un nom de document en extractant des champs (toujours grâce à firstobject et le même bat)

    et voila!

    Y a surement plus simple mais vu que je n'ai pas de grande notion de codage, j'ai trouvé comment y arriver ! ^^

    A l'occaz je peut faire un petit tuto avec mes scripts...

    Sinon toujours pas la solution!?



    ou trouver les logiciels
    switch.exe ; http://powerusers.info/modules.php?op=modload&name=Downloads&file=index&req=viewdownload&cid=1&min=10&orderby=titleA&show=10
    firstobject : http://www.firstobject.com
  • nibunibu Member
    Salut Stéphane,

    En gros à chaque fois que je tombe sur ([0-9]{4}). et je transforme en ([0-9]{5}). ou y a d'autres trucs à toucher?

    Merci!
  • nibunibu Member
    J'y suis finalement arrivé.... OUF...

    Alors pour les intéressés faut prendre tout le /core et rechercher:

    ([0-9]{4}) à transformer en ([0-9]{5}) mais attentions ! que lorsqu'il s'agit d’article et pas pour le format de date!

    Prendre aussi les 0000 à mettre en 00000.

    Je vais encore surement découvrir plein de bug mais ça devrait le faire.

    Merci pour votre aide!
  • StéphaneStéphane Member, Former PluXml Project Manager
    regarde aussi les instruction de ce genre
    str_pad($a['0']+1, 4, "0", STR_PAD_LEFT)
    
    qui permet de rajouter les 0 nécessaires devant un chiffre pour le formater sur n digits. (4 -> 5)
    fait une recherche sur str_pad car il peut y avoir autre chose à la place de $a

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

Connectez-vous ou Inscrivez-vous pour répondre.