Geben Sie mir etwas Kontrolle darüber, wie das Formularvorlagenthema gestaltet ist

Wir sind keine Fans davon, wie der Beitrag, der aus einer Formularvorlage resultiert, gestylt wird.

Hier ist, was ich erwartet hätte:

Label: Antwort
Label: Antwort
Label: Antwort

Markdown anzeigen
**Label:** Antwort
**Label:** Antwort
**Label:** Antwort

Hier ist, was wir bekommen haben:

label

answer

label

answer

label

answer

Markdown anzeigen
> ### label
> answer
>
>
>
> ### label
> answer
>
>
>
> ### label
> answer

Wir hätten gerne etwas Kontrolle darüber. In der Zwischenzeit überlege ich, Formulare mit Leerzeichen für Labels zu erstellen (damit der * für erforderliche Felder trotzdem angezeigt wird).

Das ergibt etwas wie das hier:

answer

answer

answer

Markdown anzeigen
###
answer


###
answer


###
answer

Es gibt immer noch zu viel Weißraum, aber es ist… weniger unattraktiv.

Vorschlag: Wie wäre es, dies zu einem attribute der Formulareingabe zu machen? Z.B.

- type: input
  id: rule
  attributes:
    label: "Label"
    placeholder: "sag etwas!"
    answer-styling: bold
  validations:
    required: true
8 „Gefällt mir“

Nachfassend zu alternativen Präsentationen…

Nachdem ich meinem Team heute Morgen im Standup dieses Formular und die daraus resultierende Post-Ausgabe gezeigt hatte, waren die Reaktionen:

Uns fehlt die Formatierungs-Symbolleiste oben… Mir wird klar, dass ich kein Formular möchte, das einen Beitrag erstellt; ich möchte einen normalen Beitrag mit einigen Pflichtfeldern.

und

Ich wünschte, diese Felder könnten in einem kleinen Kasten oben [im resultierenden Beitrag] oder an der Seite oder so etwas sein.

Wir sind also gespannt, wie sich das weiterentwickelt. :smiley:

3 „Gefällt mir“

Für diesen Anwendungsfall könnten Sie einfach die reguläre Themenvorlage einer Kategorie bearbeiten:

Und dies könnte wahrscheinlich mit dem Discourse Templates Plugin erreicht werden?

Auf jeden Fall… so viele Vorlagenoptionen :exploding_head: :smile:

3 „Gefällt mir“

Hallo,

Wir haben in den relevanten Kategorien „normale“ Vorlagen eingerichtet. Das bedeutet nicht, dass die Leute die Daten liefern, nach denen sie fragen. :sadpanda:

Ähm… Nein. Hier ging es um die Präsentation der aus Formulareingaben gesammelten Daten.

Danke trotzdem. :smiley:

3 „Gefällt mir“

+1 für die Funktionsanfrage.

Und in ähnlicher Weise, um Benutzern die Standard-Formatierungsleiste für kurze und/oder lange Textfeldantworten zu geben.

3 „Gefällt mir“

In der Zwischenzeit habe ich diesen hässlichen Workaround entwickelt, um a) „Checkbox“-Antworten auszublenden, und b) Nicht-Textfeld-Fragen in derselben Zeile anzuzeigen (<Frage?>: <Antwort>) und c) den Abstand zwischen den Elementen zu korrigieren

Wenn Sie sich mit Javascript auskennen, können Sie es an Ihre Bedürfnisse anpassen:

(Dies muss im Hooks-Abschnitt von app.yml hinzugefügt werden)

hooks:
  after_code:
    - exec:
        # Typischerweise haben Sie hier die Plugin-Dinge
    - 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 „Gefällt mir“