Componente tema Testo segnaposto modello argomento

Grazie ragazzi, dopo l’aggiornamento e un refresh forzato ora funziona come previsto!

2 Mi Piace

Ho appena iniziato a testare questo componente; grazie! Sarei curioso di sapere come aggiungere un testo segnaposto ai messaggi privati. Qualcuno ci ha già provato?

I messaggi privati hanno lo stesso testo segnaposto predefinito dei post nelle discussioni. Può essere modificato dagli amministratori del sito nelle impostazioni di amministrazione Personalizza > Testo. Cerca js.composer.reply_placeholder, come mostrato in alto in questa discussione.

Se utilizzi questo componente per personalizzare il testo segnaposto per ogni categoria di discussione, il testo segnaposto predefinito dovrebbe applicarsi solo ai messaggi privati.

1 Mi Piace

Questo componente del tema è davvero fantastico. Sto cercando un modo per offrire ai miei utenti una guida un po’ più chiara quando creano un argomento e vorrei rendere l’esperienza simile al compilare un modulo.

Al momento, questo componente del tema fa sì che tutto il testo precaricato in un argomento sia un unico segnaposto. Quindi, non appena un utente digita qualcosa nel compositore di argomenti, tutto il testo segnaposto scompare.

Sarebbe possibile avere segnaposti diversi sulla pagina? Ad esempio, il modello dell’argomento potrebbe caricare un segnaposto separato per:

“Nome”


“Posizione”


“Problema”

Così che quando l’utente digita il proprio nome, gli altri segnaposti per Posizione e Problema rimangano lì, finché l’utente non digita anche nei rispettivi campi?

Il testo predefinito del modello per i topic di Discourse rimane visibile mentre l’utente sta scrivendo. Sembra che sia esattamente ciò di cui hai bisogno?

L’approccio dei segnaposto:

Quello che io (e altri?) cercheremmo si comporterebbe più come i segnaposto in un modulo (cioè con elementi di modulo separati).

Il comportamento predefinito di base ora mi permetterebbe di elencare diverse sezioni del modulo, come ho scritto (“nome”, “posizione” e “problema”), ma il comportamento predefinito del template presenta gli stessi problemi già notati: il markdown lo rende confuso e l’utente può romperlo facilmente.

Penso che l’ideale sarebbe come un normale modulo, dove c’è un segnaposto per ogni sezione (nome, posizione e problema), ma (ecco la differenza) le sezioni si comporterebbero in modo indipendente. Quindi quando l’utente clicca sulla sezione “nome”, il segnaposto “nome” scompare, ma le altre sezioni rimangono finché l’utente non clicca anche su di esse.

Potrei immaginare che questo sia possibile (?) con jQuery. Ogni sezione dovrebbe avere il proprio div con un id, e poi jQuery permetterebbe di mostrare o rimuovere il testo di quell’id specifico quando l’utente ci clicca sopra. Questo richiederebbe l’aggiunta di div all’interno dell’area di testo, tuttavia, e non sono sicuro di come farlo.

Sto indagando su questo qui.

L’approccio del template

Probabilmente un’alternativa sarebbe che gli intestazioni delle sezioni non “scompaiano” quando l’utente clicca. Quindi le intestazioni delle sezioni (ad esempio: Nome, Posizione e Problema) sarebbero testo che rimane nella pagina. Per renderlo più simile a un modulo, rispetto all’impostazione predefinita attuale del template:

  1. Il testo dell’intestazione della sezione non potrebbe essere modificato dall’utente (cioè, contenteditable="false")
  2. I punti di interruzione delle sezioni non potrebbero essere rimossi dall’utente
  3. Ci sarebbe spazio sotto l’intestazione della sezione dove è chiaro che l’utente può scrivere. Nel template predefinito attuale, dovrebbero andare dove c’è il testo, premere invio, per creare spazio per scrivere.

Forse questo è il modo più semplice per farlo?

Ho notato che l’impostazione applicare solo al primo messaggio non funziona. Non funziona quando voglio che tutti i messaggi di un argomento abbiano lo stesso segnaposto e disattivo l’impostazione. In questo caso, ricevo un segnaposto standard.

C’è la possibilità di avere un segnaposto specifico per le risposte (non per il primo post di un argomento)? Spero di fornire agli utenti maggiori indicazioni su cosa può essere contenuto in una risposta, e un segnaposto che appare nelle risposte sarebbe utile.

4 Mi Piace

Ho scoperto che questo funziona per le risposte solo se il testo del segnaposto ha più di una riga. Non ho idea del perché dato che il codice è un po’ troppo complicato per me.

P.S.

Nel frattempo ho inserito una piccola PR per interrompere gli avvisi della console del browser:

2 Mi Piace

Grazie per aver unito, Nathan.

2 Mi Piace

Ho un problema per cui il testo segnaposto non viene visualizzato. Cosa mi manca?

Modello:

Impostazioni del componente

Non viene visualizzato alcun testo segnaposto/modello

Quando deselezioni “Mostra tutti i tuoi modelli di argomento come segnaposto”

Il modello appare come testo modificabile (non testo segnaposto)

Modifica testo del modello include [segnaposto]

Il testo del modello scompare/nessun testo segnaposto

Questo è su una nuova installazione di Discourse, nessun plugin/componente installato - Discourse 3.4.0

Sì, sembra che questo componente del tema abbia smesso di funzionare. :thinking:

3 Mi Piace

Questo componente ha smesso di funzionare per me.

Oh beh, posso confermare che non sta funzionando. Probabilmente a causa di importanti modifiche recenti su Discourse.

1 Mi Piace

Ciao, c’è qualche speranza che venga aggiornato? :face_with_tongue:

Ciao :waving_hand:

Ho creato una PR per riportare in vita questo componente del tema e renderlo compatibile con l’ultima versione di Discourse. :slightly_smiling_face:

8 Mi Piace

Grazie @Don Ho unito la tua pull request. Per favore, testa che funzioni per te. :folded_hands:

3 Mi Piace

Ho appena reinstallato e l’ho usato: sembra funzionare bene ora.

Pertanto, ho rimosso il tag broken.

2 Mi Piace

[Avviso Amministratore] Il tema ‘Topic Template Placeholder Text’ contiene codice che necessita di aggiornamento. (id:discourse.resolver-resolutions)

[TEMA 50 'Topic Template Placeholder Text'] AVVERTIMENTO DI DEPRECAZIONE: “site:main” è deprecato, utilizzare invece “service:site” [deprecato da Discourse 2.9.0.beta7] [id deprecazione: discourse.resolver-resolutions]

Ho apportato quella modifica e rilasciato un aggiornamento. Tutto dovrebbe funzionare ora.

2 Mi Piace