We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 40167
    • 8 Posts
    J’ai un problème, je crois bien que je… euh, je m’égare…
    J’ai donc un problème. Le principal souci étant que, ayant tenté de faire des recherches sur Google, je ne sais clairement pas formuler ma requête.
    Donc, avec révolution : Je voudrais créer des pages sur lesquelles mes contributeur vont pouvoir remplir des fiches pour générer des pages. Jusque la, ça va. J’ai trouvé une solution avec Formit qui me génère des pages qu’il m’envoie par email et qu’après vérification je peux publier. Ce n’est pas encore en ligne, mais cela fonctionne. Vous pouvez voir un exemple de fiche non encore fonctionnelle là : http://www.bioorga.fr/index.php?id=48 .
    Le souci est que si l’on me signale une erreur ou si l’on veut compléter une fiche cela devient galère car je dois faire le travail sur le code de la fiche elle-même.
    Je préfèrerais que le contributeur crée une fiche que serait stockée dans ma base de données. Recevoir un mail m’indiquant de valider la fiche. Puis qu’à l’utilisation les fiche soient générées à la demande et modifiable de manière « transparente » pour l’utilisateur.
    J’ai commencé à regarder du coté de PHP en créant des snippets (si j’ai bien compris) pour Formit. Mais, tout d’abords est ce que c’est réalisable et est-ce la bonne méthode ou existe-t-il une méthode plus simple. Sinon, puis-je intégrer du PHP dans mes pages, ou suis obligé de passer par un snippet.
    Voila, j’espère avoir été clair. N’ayant que peu de temps pour moi, je voudrais éviter d’en perdre bêtement. Tous vos conseils et vos idées seront donc les bienvenues.
      • 33976 ☆ A M B ☆
      • 571 Posts
      micromega,

      Si je comprend bien, vous recherchez un simili de versionning (plusieurs versions d'une même ressource). Ce n'est pour le moment pas disponible nativement dans Revolution (mais prévu pour on-ne-sait-quand).
      En revanche, comme toujours, plusieurs pistes sont envisageables (toutes nécessitant un peu d'huile de coude -- ce qui est un bon moyen d'apprendre ^^) :


      • VersionX (documentation - téléchargement) qui permet éventuellement de restaurer du contenu
      • lorsqu'un utilisateur signale une erreur (et propose une correction), dupliquer la ressource originale puis modifier la copie avec les données envoyées par l'utilisateur. Pour la "modération", dé-publier la ressource originale et publier la copie (en utilisant le même alias dans le cas d'utilisation des Friendly URLs, en revanche pourra poser un problème dans le cas où les FURLs ne sont pas utilisées)
      • dupliquer toutes les zones de contenu à l'aide de TVs (variables de modèles) afin d'y stocker les données corrigées avant de pouvoir les "publier" (certainement plus fastidieux et contraignant à administrer)
      • utiliser des tables pour stocker les données et éventuellement créer un composant (là c'est un peu plus d'huile de coude ^^)

      Concernant les snippets, c'est effectivement le moyen d'utiliser du PHP dans les ressources, les ressources étant de "simples" conteneurs de contenu (résumé "grossier").
      Certains snippets peuvent être utilisés en tant que (pre/post) "hooks" par certains autres snippets (comme FormIt ou Login). Ces hooks servent à modifier le comportement initial du snippet (par exemple empêcher l’exécution du snippet si certaines conditions sont/ne sont pas remplies).

      En espérant que cela sera plu "utile" que déconcertant wink

      Bon courage
        • 40167
        • 8 Posts
        Très utile, d'après ce que j'en comprend.
        C'est effectivement le genre de chose que je craignais de devoir faire.
        En me replongeant dans la doc de MODX, j'ai trouvé quelques pistes qui me semblent intéressantes.
        Bien sur, je tiendrais le forum au courant si je parviens à mes fin car je pense que cela pourrait être utile à d'autre.
          • 40167
          • 8 Posts
          Comme promis, je reviens vers vous pour vous exposer la solution que j’ai mise en place. Elle n’est probablement pas la meilleure, mais elle à l’avantage d’être simple et rapide de mise en œuvre.
          J’ai donc utilisé NewsPublisher.
          Il faut d’abords créer une page qui va servir de conteneur. Ici, page 34. Puis des TVs. Un par variable à remplir. Ne pas oublié d’autoriser leur emploi sur les templates employées.
          Ensuite on crée la page de formulaire ou l’on appelle NewsPublisher. Un truc un peu chiant, il faut obligatoirement un « Content ». Par ailleurs, si quelqu’un pouvait me dire comment insérer des commentaires dans le snippet, ça me rendrait service. L’appel va ressembler à cela :
          [[!NewsPublisher?
          	&show=`
          		pagetitle,
          		plante_nom_fr,
          		content`
          	&captions=`pagetitle:Titre de la fiche`	
          	&searchable=`1`
          	&required=`plante_nom_fr`
          	&cssfile=`assets/css/CSS_base.css`
          	&parentid=`34`					
          	&template=`20`					
          	&classkey=`modDocument`				
          	&hidemenu=`1`					
          	&clearcache=`1`					
          	&makefolder=`1`					
          	&language=`fr`
          ]]
          <!-- les variables de la fiche -->
          <!-- le dossier parent des fiches -->
          <!-- Le template utilisé pour la fiche est celle du parent-->
          <!-- a préciser pour rendre modifiable, je ne sais pas pourquoi -->
          <!-- pareil et en plus cela m'arrange car je ne les veux pas dans les menus déroulants -->
          <!-- on nettoie le cache au cas ou... -->
          <!-- Au cas où, on transforme la cible en conteneur -->
          <!-- pour être propre -->

          Enfin, on créer le Template pour le conteneur en appelant les variables avec [[* variable]]. On y insère le bouton de modification avec :
          [[!NpEditThisButton? 
          	&debug=`1`
          	&np_id=`61`
          ]]

          61 est le numéro de la page de création des fiches.
          En espérant que ce soit utile à d’autre.