Can we change the title of the topic without changing the slug?

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.

2 „Gefällt mir“

No this can not be done, slug is coupled to title.

4 „Gefällt mir“

@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.

1 „Gefällt mir“

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.

5 „Gefällt mir“

Ist das immer noch der Fall?

Mein Anwendungsfall ist: Beiträge in meinem Ghost-Blog erstellen Themen auf Discourse. Ich habe einen der oben genannten Vorschläge von Ghosts Gründer befolgt, die Länge des Slugs zu kürzen, was ich bei meinem letzten Beitrag getan habe. Discourse erstellt den Slug aus dem Titel des Beitrags, nicht aus dem Slug des Beitrags. Während das alles gut funktioniert, habe ich auch ein discourse-get-comment-count Skript in Gebrauch, das auf der Homepage (sowie am Anfang jedes einzelnen Beitrags) anzeigt, wie viele Kommentare jeder Beitrag hat. Das Problem ist, dass es Discourse abfragt (wenn ich die Terminologie richtig verstehe) nach dem Slug des Beitrags, nicht nach seinem Titel, und daher die tatsächliche Kommentaranzahl nicht findet. (Sie können sehen, dass der Beitrag ganz oben auf der Website die Kommentaranzahl auf dem Spinner feststecken hat.)

Gibt es etwas, das ich dagegen tun kann, außer den Slug nicht anzupassen?

Diese Implementierung lässt mich :thinking:

Warum wird hier nicht topic_id verwendet: discourse-get-comment-count/update-comments.js at master · vikaspotluri123/discourse-get-comment-count · GitHub

Wenn das gemacht würde, wäre der Slug überhaupt nicht wichtig.

Ich werde nicht so tun, als würde ich das vollständig verstehen, aber das ist, was mir als Antwort mitgeteilt wurde, als ich Ihren Vorschlag weiterleitete:

Wie würden wir die topic_id basierend auf einer Ghost-Post-ID, einem Slug oder einer URL erhalten?

Soweit ich weiß, könnten wir die Post-ID verwenden, um das Thema über die Eigenschaft external_id zu verknüpfen, aber es scheint, dass die Verwendung von external_id auf die API beschränkt ist und Themen über die Einbettungsfunktion erstellt werden (die scheinbar keine Unterstützung für external_id bietet).

Nebenbei bemerkt, im Gegensatz zu dem, was ich in meinem vorherigen Kommentar angegeben habe, habe ich den Slug in dem oben genannten Ghost-Post vor ein paar Stunden auf seinen Standardwert zurückgesetzt, was bedeutet, dass die Kommentaranzahl nicht mehr am Spinner hängt, wie angegeben.

Wenn Sie sich auf unser Embedding verlassen, pflegt Discourse eine Zuordnung zwischen der Einbettungs-URL und dem Thema.

Sie könnten also Folgendes verwenden:

um die Liste der Kommentarzahlen zu erhalten.

Die Kommentarzahl könnte einfach diesen Endpunkt mit der Ghost-URL aufrufen. Offen dafür, einen “Batch”-Endpunkt zu erstellen, damit Sie ihm mehrere URLs übergeben können. pr-welcome dazu.

1 „Gefällt mir“