Composant de thème Texte d'espace réservé du modèle de sujet

Merci les gars, après la mise à jour et un rafraîchissement forcé, cela fonctionne maintenant comme prévu !

2 « J'aime »

Je viens de commencer à tester ce composant ; merci ! Je me demandais s’il était possible d’ajouter un texte d’espace réservé aux messages privés. Quelqu’un a-t-il déjà essayé ?

Les messages privés ont le même texte d’espace réservé par défaut que les messages de sujet. Il peut être modifié par les administrateurs du site dans les paramètres d’administration Personnaliser > Texte. Recherchez js.composer.reply_placeholder - comme indiqué en haut de ce fil de discussion.

Si vous utilisez ce composant pour personnaliser le texte d’espace réservé pour chaque catégorie de sujet, le texte d’espace réservé par défaut ne doit s’appliquer qu’aux messages privés.

1 « J'aime »

Ce composant de thème est vraiment génial. J’essaie de trouver un moyen d’offrir un peu plus d’orientation à mes utilisateurs lorsqu’ils créent un sujet, et j’aimerais rendre l’expérience plus semblable à la complétion d’un formulaire.

Pour l’instant, ce composant de thème fait en sorte que tout le texte préchargé dans un sujet ne soit qu’un seul indicateur de position. Ainsi, dès qu’un utilisateur tape quelque chose dans le compositeur de sujet, tout le texte indicateur disparaît.

Serait-il possible d’avoir différents indicateurs de position sur la page ? Par exemple, le modèle de sujet pourrait charger un indicateur de position séparé pour :

“Nom”


“Localisation”


“Problème”

De sorte que lorsque l’utilisateur tape son nom, les autres indicateurs de position pour la localisation et le problème restent affichés, jusqu’à ce que l’utilisateur remplisse également ses propres champs ?

Le texte par défaut du modèle de sujet Discourse reste affiché pendant que l’utilisateur tape. Cela semble correspondre à ce dont vous avez besoin ?

L’approche par espaces réservés :

Ce que je (et d’autres ?) rechercherais se comporterait davantage comme des espaces réservés dans un formulaire (c’est-à-dire avec des éléments de formulaire distincts).

Le comportement par défaut de base permettrait actuellement de lister différentes sections du formulaire, comme ce que j’ai écrit (« nom », « lieu » et « problème »), mais le comportement par défaut du modèle présente les mêmes problèmes que ceux notés précédemment : le markdown rend la chose confuse et l’utilisateur peut facilement la casser.

Je pense que l’idéal serait d’avoir un formulaire normal, où il y a un espace réservé pour chaque section (nom, lieu et problème), mais (c’est là la différence) les sections se comporteraient de manière indépendante. Ainsi, lorsque l’utilisateur clique sur la section « nom », l’espace réservé « nom » disparaît, mais les autres sections restent jusqu’à ce que l’utilisateur clique sur elles aussi.

Je pourrais imaginer que cela soit possible (?) avec jQuery. Chaque section devrait avoir son propre div avec un id, et jQuery permettrait d’afficher ou de supprimer le texte de cet id particulier lorsque l’utilisateur clique dessus. Cela nécessiterait d’ajouter des divs dans la zone de texte, mais je ne suis pas sûr de savoir comment faire.

J’explore cela ici.

L’approche par modèle

Une alternative serait probablement que les en-têtes de section ne « disparaissent » pas lorsque l’utilisateur clique dessus. Ainsi, les en-têtes de section (exemple : Nom, Lieu et Problème) seraient du texte qui resterait sur la page. Pour le rendre plus semblable à un formulaire, par rapport au modèle par défaut actuel :

  1. Le texte de l’en-tête de section ne pourrait pas être modifié par l’utilisateur (c’est-à-dire contenteditable="false").
  2. Les points de rupture de section ne pourraient pas être supprimés par l’utilisateur.
  3. Il y aurait un espace sous l’en-tête de section où il est clair que l’utilisateur peut taper. Dans le modèle par défaut actuel, ils devraient se rendre là où se trouve le texte, appuyer sur entrée, pour créer de l’espace afin de taper.

Peut-être que c’est le moyen le plus simple de le faire ?

J’ai constaté que ce paramètre appliquer uniquement au premier message ne fonctionne pas.
Il ne fonctionne pas si je souhaite que tous les messages d’un sujet aient le même indicateur de position et désactive le paramètre. Dans ce cas, j’obtiens un indicateur de position standard.

Existe-t-il une possibilité d’avoir un texte d’espace réservé spécifique aux réponses (et non au premier message d’un sujet) ? J’espère pouvoir offrir aux utilisateurs plus de conseils sur le contenu d’une réponse, et un texte d’espace réservé qui s’affiche dans une réponse serait utile.

4 « J'aime »

J’ai constaté que cela fonctionne pour les réponses uniquement si le texte de l’espace réservé comporte plus d’une ligne. Je n’ai aucune idée pourquoi, car le code est un peu trop compliqué pour moi.

P.S.

Pendant ce temps, j’ai ajouté une petite PR pour arrêter les avertissements de la console du navigateur :

2 « J'aime »

Merci pour la fusion, Nathan.

2 « J'aime »

J’ai un problème où le texte de substitution n’apparaît pas. Qu’est-ce qui me manque ?

Template :

Paramètres du composant

Aucun texte de substitution/template n’apparaît

Lorsque la case “Afficher tous vos modèles de sujet comme espaces réservés” est décochée

Le modèle apparaît comme du texte modifiable (pas du texte de substitution)

Modifier le texte du modèle, il inclut [placeholder]

Le texte du modèle disparaît/aucun texte de substitution

Ceci est sur une nouvelle installation de Discourse, aucun plugin/composant installé - Discourse 3.4.0

Oui, il semble que ce composant de thème ait cessé de fonctionner. :thinking:

3 « J'aime »

Ce composant a cessé de fonctionner pour moi.

Eh bien, je peux confirmer que ça ne fonctionne pas. Probablement à cause de changements majeurs récents sur Discourse.

1 « J'aime »

Salut, y a-t-il un espoir que ce soit mis à jour ? :face_with_tongue:

Bonjour :waving_hand:

J’ai créé une PR pour redonner vie à ce composant de thème et le rendre compatible avec la dernière version de Discourse. :slightly_smiling_face:

8 « J'aime »

Merci @Don J’ai fusionné votre pull request. Veuillez tester si cela fonctionne pour vous. :folded_hands:

3 « J'aime »

Je viens de le réinstaller et de l’utiliser - il semble fonctionner correctement maintenant.

Par conséquent, j’ai supprimé l’étiquette broken.

2 « J'aime »

[Avis d’administration] Le thème « Texte de remplacement du modèle de sujet » contient du code qui doit être mis à jour. (id : discourse.resolver-resolutions)

[THÈME 50 « Texte de remplacement du modèle de sujet »] AVIS DE DÉPRÉCIATION : « site:main » est déprécié, utilisez « service:site » à la place [déprécié depuis Discourse 2.9.0.beta7] [id de dépréciation : discourse.resolver-resolutions]

J’ai apporté cette modification et publié une mise à jour. Tout devrait maintenant fonctionner.

2 « J'aime »