Can we change the title of the topic without changing the slug, at least for admin?
The old slug URL would still redirect to the article, is that your concern with the slug changing?
No, I know that it will redirect, but I prefer not having redirection and just change the title, like in wordpress.
That probably needs to be logged in the feature category then as I’m pretty sure that it isn’t something Discourse currently allows.
No this can not be done, slug is coupled to title.
@sam does the old url then redirect to the new one? Concerned that if we allow high trust users to edit topics, we may end up sending visitors from old links to broken pages.
Is the slug appears in the database? If so, there should be no problem allowing the admin at least to change the title. If the slug isn’t in the database, it is a problem.
The old URL does redirect, it’s ID based and it checks if the slug is the same as the one in the databse or after normalization of the title. I blieve.
The slug is cached, but but the source of truth is always the topic title. Quite a few internals need to be changed to allow overriding, not on any roadmap.
È ancora così?
Il mio caso d’uso è: i post sul mio blog Ghost creano argomenti su Discourse. Ho seguito un suggerimento di cui sopra del fondatore di Ghost per troncare la lunghezza dello slug, cosa che ho fatto con il mio post più recente. Discourse crea lo slug dal titolo del post, non dallo slug del post. Sebbene tutto ciò funzioni bene, ho anche uno script discourse-get-comment-count in uso che visualizza sulla home page (così come in cima a ciascun post individuale) quanti commenti ha ciascun post. Il problema è che sta interrogando Discourse (se ho capito bene il gergo) per lo slug del post, non il suo titolo, e quindi non scopre il conteggio effettivo dei commenti. (Puoi vedere il post in cima al sito ha il conteggio dei commenti bloccato sullo spinner.)
C’è qualcosa che posso fare al riguardo oltre a non personalizzare lo slug?
Questa implementazione mi fa ![]()
Perché non usa topic_id qui: discourse-get-comment-count/update-comments.js at master · vikaspotluri123/discourse-get-comment-count · GitHub
Se lo facesse, lo slug non avrebbe alcuna importanza.
Non pretenderò di capire completamente, ma questo è ciò che mi è stato risposto quando ho riportato il tuo suggerimento:
Come potremmo ottenere il topic_id basandoci su un id, slug o url di un post di Ghost?
La mia comprensione è che potremmo usare l’id del post per collegare l’argomento tramite la proprietà
external_id, ma sembra che l’uso di external_id sia limitato all’API e gli argomenti vengono creati utilizzando la funzionalità di incorporamento (che non sembra supportare external_id).
Come nota a margine, contrariamente a quanto ho affermato nel mio precedente commento, ho ripristinato lo slug al suo valore predefinito nel suddetto post di Ghost un paio d’ore fa, il che significa che il conteggio dei commenti non è bloccato sullo spinner come affermato.
Se ti stai basando sul nostro embedding, Discourse mantiene una mappa tra l’URL di incorporamento e l’argomento.
Quindi potresti usare:
Per ottenere l’elenco del conteggio dei commenti.
Il conteggio dei commenti potrebbe semplicemente chiamare quell’endpoint con l’URL fantasma. Aperto a possibili creazioni di un endpoint “batch” in modo da potergli passare più URL. pr-welcome su questo.