Questa documentazione spiega come creare un link che avvia un nuovo argomento in Discourse con informazioni precompilate.
Livello utente richiesto: Tutti gli utenti
A volte potresti voler fornire agli utenti un link che apra un nuovo compositore di argomenti con alcune informazioni precompilate. Questo può essere utile per vari casi d’uso, inclusi modelli di segnalazione di bug, richieste di funzionalità o post standardizzati.
Costruire l’URL
URL di base
Per comporre un nuovo argomento precompilato senza informazioni aggiuntive, aggiungi /new-topic all’URL del tuo sito, così:
https://discourse.example.com/new-topic
Cliccando su questo si aprirà un compositore di nuovo argomento vuoto per qualsiasi utente autenticato (se non si è autenticati, verrà richiesto di accedere/registrarsi prima di aprire il compositore).
Parametri aggiuntivi
Sebbene un link per aprire un compositore vuoto possa talvolta essere utile, la forza principale di questa funzionalità è la capacità di precompilare il compositore con informazioni aggiuntive.
Per fare ciò, puoi aggiungere parametri all’URL di base:
https://discourse.example.com/new-topic?title=titolo%20argomento&body=corpo%20argomento&category=categoria/sottocategoria&tags=email,planned
Questo aprirà una finestra del compositore precompilata con titolo dell’argomento, corpo, categoria e tag.
Analizzando il link/URL per mostrare le opzioni disponibili, abbiamo:
- URL di base:
https://discourse.example.com/new-topic - L’operatore URL
?per aggiungere le diverse opzioni - Titolo argomento:
title=titolo%20argomento - Il carattere
&, usato ogni volta che si include un altro parametro - Corpo:
body=corpo%20argomento - La categoria e la sottocategoria separate da uno slash
/se si desidera includerle:category=categoria/sottocategoria - I tag separati da virgola(e)
,se si desidera includere più tag:tags=email,planned
Ciascuno dei parametri è facoltativo e può essere combinato a seconda del risultato finale desiderato.
Come alternativa all’uso del nome della categoria/sottocategoria, puoi specificare un category_id numerico invece, come:
https://meta.discourse.org/new-topic?title=titolo%20argomento&category_id=3
Esempio
Puoi provarlo qui su Meta:
https://meta.discourse.org/new-topic?title=titolo%20argomento&body=corpo%20argomento&category=support/wordpress&tags=wordpress
Tuttavia, per favore non creare effettivamente l’argomento
Per un’esplorazione più pratica della funzionalità , usa il nostro sito demo, try.discourse.org
Utilizzo degli strumenti per sviluppatori del browser
Apri la console del browser (F12 → Console) e utilizza URLSearchParams integrato per costruire l’URL — gestisce automaticamente tutta la codifica percentuale (percent-encoding):
const base = 'https://discourse.example.com/new-topic';
const url = base + '?' + new URLSearchParams({
title: 'My topic title',
body: `Body text here...
supports multi line`,
category: 'support',
tags: 'bug,urgent'
});
console.log(url); // copia questo url
Utilizzo di un URL precompilato con Collegamenti in Evidenza (Featured Links)
Questa funzionalità supporta anche i Featured Links, a condizione che venga omesso anche il parametro body.
L’URL deve essere codificato per l’URL affinché il link funzioni.
Ad esempio, per creare un argomento con il seguente URL https://www.xkcd.com/556, il link sarà :
https://meta.discourse.org/new-topic?title=https%3A%2F%2Fwww.xkcd.com%2F556
Best Practice
- La Riferimento alla codifica URL HTML di w3Schools è una buona risorsa per scoprire come vengono codificati i caratteri di testo nell’URL. Se devi aggiungere molto testo, c’è anche un convertitore da testo a URL nella sezione ‘Try It Yourself’.
- Codifica sempre in URL i parametri per evitare problemi con caratteri speciali.
- Se non sei sicuro dell’ID della categoria, puoi verificarlo guardando il numero nell’URL della categoria. (es. https://meta.discourse.org/c/documentation/using-discourse/126)
- Testa i link precompilati per assicurarti che funzionino come previsto.
Al momento non è possibile avere un link precompilato che apra un compositore per rispondere a un argomento specifico.