Beim Bearbeiten von Text mit % ist ein Problem aufgetreten

Wir haben ein Problem beim Bearbeiten von Texten mit dem %-Zeichen.

Texte mit diesem Zeichen im Inneren können nicht geändert werden. Nach dem Speichern verschwindet der Text und wird auf der Website nicht angezeigt.

Bitte helfen Sie uns, das Problem zu lösen.

Textbeispiel:
44

1 „Gefällt mir“

Das %-Zeichen innerhalb von href= ist ein Escape-Zeichen, um ein Zeichen über einen numerischen Wert darzustellen. Daher ist %{ nicht einfach % gefolgt von einer Zahl.

Versuchen Sie, das % durch %25 zu ersetzen.

Siehe: Ein Prozentzeichen (%) in einer URL übergeben und den exakten Wert davon mit PHP erhalten

3 „Gefällt mir“

Danke! Das Problem wird damit jedoch nicht gelöst. In diesem Fall werden zwar die Änderungen gespeichert, aber leider funktioniert der Link nicht…

1 „Gefällt mir“

Was möchten Sie erreichen? Möchten Sie den Wert des href-Attributs des Links ändern?

2 „Gefällt mir“

@simon Nein, wir müssen einige Texte auf der Website bearbeiten, können dies aber nicht tun. Texte, die ein % enthalten, können nicht geändert werden. Nach dem Speichern verschwindet der Text und wird auf der Website nicht angezeigt.

Zum Beispiel können wir diesen Text nicht ändern:
42

Aber wenn wir das % aus diesem Text entfernen, werden die Änderungen problemlos gespeichert.

1 „Gefällt mir“

@simon Du kannst das Video ansehen: Dropbox - Error - Simplify your life

3 „Gefällt mir“

Der erste Teil dieses Textes (## [Willkommen bei %{title}](#welcome)) ist Markdown, das ein h2-Element mit einem Link erstellt. Der href-Wert des Links ist auf “#welcome” gesetzt. Das Tag %{title} ist ein Platzhalter, der von Discourse verwendet wird, um den Titel Ihrer Site in den Text einzufügen.

Es sollte möglich sein, diesen Text anzupassen, aber Sie müssen sicherstellen, dass Sie gültiges Markdown verwenden. Zum Beispiel funktioniert Folgendes:

## [Willkommen bei meiner Demo-Site](#welcome)
Ein Konto ist erforderlich. Bitte erstellen Sie ein Konto oder melden Sie sich an, um fortzufahren.

Auch Folgendes funktioniert; es entfernt den Link aus dem h2-Element:

## Willkommen bei meiner Demo-Site
Ein Konto ist erforderlich. Bitte erstellen Sie ein Konto oder melden Sie sich an, um fortzufahren.
4 „Gefällt mir“

@simon Ja, mir ist diese Möglichkeit bekannt, danke. Aber wir müssen mehrere hundert Texte übersetzen, und das ist ein großes Problem :grinning:

1 „Gefällt mir“

Danke für das Hochladen des Videos. Ich habe ein ähnliches Problem auf meiner Entwicklungsumgebung festgestellt.

Beim Klicken auf den Bearbeiten-Button für einen der leeren Einträge wird ein leeres Textfeld angezeigt.

Beim Klicken auf den Button „Änderungen rückgängig machen“ wird der Standardtext wiederhergestellt, aber im Textfeld wird nur die erste Zeile des Textes angezeigt.

Nach dem Neuladen der Seite wird der vollständige Standardtext angezeigt.

1 „Gefällt mir“

Ja, danke, ich weiß, wie man den Originaltext zurückgibt, aber ich muss Änderungen daran vornehmen und kann das nicht tun…

1 „Gefällt mir“

Wahrscheinlich verwandt:

https://meta.discourse.org/t/changing-systems-welcome-message/128572/3?u=tshenry

3 „Gefällt mir“

Danke für deinen Beitrag. Das Problem liegt jedoch nicht darin, den Originaltext zurückzugeben, sondern darin, Änderungen daran vorzunehmen. Bitte schaue dir mein Video oben an.

1 „Gefällt mir“

Ich habe dieses Thema in die Kategorie bug verschoben. Was ich auf meiner gehosteten Discourse-Instanz feststelle, ist, dass bei bearbeitetem Textinhalt, der einen Platzhalter enthält, der bearbeitete Text in der Tabelle TranslationOverride gespeichert wird. Der Text wird in der Benutzeroberfläche der Seite angezeigt. Wenn ich beispielsweise den Text login_required.welcome_message bearbeite, wird mein bearbeiteter Text auf der Anmeldeseite verwendet.

Das Problem besteht darin, dass der bearbeitete Text nicht konsistent in der Liste „Texte“ unter „Admin / Anpassen“ angezeigt wird und auf der Seite zum Bearbeiten von Texten überhaupt nicht erscheint:

Wenn ich das Kontrollkästchen „Nur überschriebene anzeigen“ aktiviere oder nach einem bestimmten Übersetzungsschlüssel suche, wird der bearbeitete Text angezeigt:

Wenn ich auf die Schaltfläche „Bearbeiten“ des Textes klicke, wird ein leeres Textfeld angezeigt:

Edit: Dies scheint ein Duplikat des von @tshenry verlinkten Problems zu sein: https://meta.discourse.org/t/changing-systems-welcome-message/128572/3. Der Unterschied, den ich feststelle, besteht darin, dass das Klicken auf die Schaltfläche „Zurücksetzen“ im Schritt 6 zum Standardtext zurückkehrt und nicht zum kürzlich bearbeiteten Text. Das Problem scheint nur bei Zeichenfolgen aufzutreten, die Platzhalter enthalten. Ich werde dieses Thema vorläufig als Duplikat schließen.

3 „Gefällt mir“