Ehi, c’è un modo per evitare la creazione automatica di un argomento per ogni post del blog pubblicato sul nostro sito, mantenendo comunque la sezione discussioni?
Credo abbia più senso generare un argomento automaticamente solo quando c’è un commento su un determinato post del blog. Attualmente la logica prevede che l’argomento debba esistere prima che le persone possano commentare.
Per chiarire, non stiamo utilizzando alcun sistema di commenti diverso da Discourse. Quindi ciò che vogliamo è creare un argomento solo quando c’è effettivamente un commento su un post, invece di avere una serie di argomenti vuoti su Discourse come mostrato sotto:
Non proprio… Come dovrebbero rispondere gli utenti a un argomento se non è già stato pubblicato da qualche parte? Ogni argomento deve iniziare con 0 risposte. Immagino che mi stia sfuggire qualcosa qui
Penso che ciò che desideri sia avere tutti gli argomenti estratti su Discourse dal tuo sito web contrassegnati come non elencati. Quando un argomento riceve un commento, verrebbe automaticamente contrassegnato come elencato. Gli argomenti non elencati non appaiono nell’elenco degli argomenti, quindi questo impedirebbe che l’elenco degli argomenti sul tuo sito sia pieno di argomenti senza risposte.
Questo tipo di configurazione ha senso per i siti in cui le persone accedono agli argomenti di Discourse facendo clic su un link “Avvia discussione” visualizzato sotto un post del blog. Discourse non ha un’impostazione per questo, ma penso che sarebbe una richiesta di funzionalità ragionevole. Il plugin WordPress di Discourse ha questa funzionalità, ma utilizza l’API di Discourse per rimuovere e aggiungere gli argomenti all’elenco.
@simon È esattamente quello che vogliamo! Grazie per la tua risposta. Il problema è che il nostro sito non è costruito con WordPress. Ma possiamo dare un’occhiata all’API di Discourse.
A proposito di richieste di funzionalità, dove posso presentare questa richiesta per Discourse?
@Canapin Quindi vogliamo che il post del blog riceva un commento PRIMA di essere elencato come argomento su Discourse. Il post esiste già sul nostro sito, vero?
È una buona idea. L’altra opzione sarebbe non creare i topic fino a quando l’utente non clicca, ma penso che la tua suggerimento potrebbe essere più semplice. Forse @eviltrout potrebbe prenderlo in considerazione come possibile attività per questa versione, la prossima settimana?
Il modo più semplice per capire come farlo è provare a nascondere e poi mostrare un argomento tramite l’interfaccia utente di Discourse, seguendo i passaggi descritti in questa guida: Come eseguire il reverse engineering dell’API di Discourse.
Per automatizzare il processo tramite API, dovresti configurare un webhook per ascoltare gli eventi relativi ai post. Quando ricevi un webhook che ti informa che il primo post nella tua categoria incorporata è stato creato, invierai quindi una richiesta API per nascondere l’argomento. Quando ricevi un webhook che ti informa che il secondo post in un argomento è stato creato, invierai quindi una richiesta API per mostrare l’argomento.
Come menzionato sopra, un approccio migliore potrebbe essere quello di far sì che l’argomento venga automaticamente nascosto la prima volta che un utente clicca per accedere all’argomento da un sito di blog. In questo modo, il primo utente a lasciare un commento non vedrà l’argomento contrassegnato come nascosto. Questa soluzione sarebbe un po’ più complessa da configurare, ma potrebbe essere realizzata tramite API ascoltando gli eventi di clic sui collegamenti ai tuoi argomenti su Discourse.
Sì, penso che dovremmo farlo, @eviltrout. Almeno la versione più semplice (predefinita non in elenco, ma diventa visibile non appena arriva una risposta)?
Idealmente, questo argomento verrà aggiornato quando la funzione sarà disponibile. In tal caso, riceverai una notifica a riguardo se imposti il livello di notifica per questo argomento su “Osservando”.