Donnez-moi un peu de contrôle sur la façon dont le post du modèle de formulaire est stylé

Nous n’aimons pas la façon dont le message résultant d’un modèle de formulaire est stylisé.

Voici ce que je m’attendais à voir :

Libellé : réponse
Libellé : réponse
Libellé : réponse

Voir le markdown
**Libellé :** réponse
**Libellé :** réponse
**Libellé :** réponse

Voici ce que nous avons obtenu :

libellé

réponse

libellé

réponse

libellé

réponse

Voir le markdown
> ### libellé
> réponse
>
>
>
> ### libellé
> réponse
>
>
>
> ### libellé
> réponse

Nous aimerions avoir un certain contrôle sur cela. En attendant, j’envisage de créer des formulaires avec des espaces pour les libellés (ainsi, l’* s’affichera toujours pour les champs obligatoires).

Cela donne quelque chose comme ceci :

réponse

réponse

réponse

Voir le markdown
###
réponse


###
réponse


###
réponse

Il y a encore trop d’espace blanc, mais c’est… moins peu attrayant.

Suggestion : Que diriez-vous d’en faire un attribut de l’entrée du formulaire ? Par exemple :

- type: input
  id: rule
  attributes:
    label: "Libellé"
    placeholder: "dites quelque chose !"
    answer-styling: bold
  validations:
    required: true
8 « J'aime »

Suite aux présentations alternatives…

Après avoir montré ce formulaire et le résultat de la publication à mon équipe ce matin lors de la réunion, les réponses ont été :

Il nous manque la barre d’outils de mise en forme en haut… Je me rends compte que je ne veux pas d’un formulaire qui crée une publication ; je veux une publication normale avec quelques champs obligatoires.

et

J’aimerais que ces champs soient dans une petite boîte en haut [de la publication résultante] ou sur le côté, ou quelque chose comme ça.

Alors… nous sommes impatients de voir comment cela évolue. :smiley:

3 « J'aime »

Pour ce cas d’utilisation, vous pourriez simplement modifier le modèle de sujet régulier d’une catégorie :

Et cela pourrait probablement être réalisé en utilisant le plugin Discourse Templates ?

Dans tous les cas… tellement d’options de modèles :exploding_head: :smile:

3 « J'aime »

Salut,

Nous avons mis en place des modèles « normaux » dans les catégories pertinentes. Cela ne signifie pas que les gens fournissent les données qu’ils demandent. :sadpanda:

Euh… Non. Il s’agissait de la présentation des données collectées à partir des entrées du formulaire.

Merci, quand même. :smiley:

3 « J'aime »

+1 pour la demande de fonctionnalité.

Et dans le même ordre d’idées, pour donner aux utilisateurs la barre d’outils de formatage standard pour les réponses courtes et/ou longues dans les zones de texte.

3 « J'aime »

En attendant, j’ai trouvé cette solution de contournement moche pour a) masquer les réponses de type « case à cocher », et b) afficher les questions qui ne sont pas des zones de texte sur la même ligne (<question?>: <answer>) et c) corriger l’espacement entre les éléments.

Si vous êtes un peu familier avec Javascript, vous pouvez l’adapter à vos besoins :

(Ceci doit être ajouté dans la section hooks de app.yml)

hooks:
  after_code:
    - exec:
        # Généralement, vous avez ici les trucs de plugin
    - replace:
        filename: /var/www/discourse/app/assets/javascripts/discourse/app/lib/form-template-validation.js
        from: 'return formattedOutput.join("\n\n");'
        to: |
          const formattedOutput2 = mergedData.map((item) => {
            const key = Object.keys(item)[0];
            const value = item[key];
            const type = formTemplate.find(x => x.id == key).type;
            if (type == 'checkbox') return;
            if ((value) && (type != 'textarea')) return `**${labelMap[key]}**: ${value}`;
            if (value) return`\n### ${labelMap[key]}\n${value}\n`;
          });
          return formattedOutput2.join("\n");

2 « J'aime »