Theme-Komponente für Platzhaltertext für Themenvorlagen

Platzhalter-Text für Themen-Vorlagen – Theme-Komponente

Diese Theme-Komponente ermöglicht es Ihnen, Themen-Vorlagen als Platzhalter (Wasserzeichen) anzuzeigen, anstatt als bearbeitbaren Vorlagentext.

Dadurch können Sie benutzerdefinierte Anweisungen als Platzhalter für jedes Thema bereitstellen.

Beispiel:

Dies ist der normale Platzhalter (Wasserzeichen)-Text.

Hinweis: Sie können dies bereits siteweit ändern, indem Sie den benutzerdefinierten Text anpassen.

Gehen Sie zu Admin >> Anpassen >> Text

Suchen Sie dann nach dem Text, den Sie auf dem Bildschirm sehen.
Eine Suche nach „BBCode" sollte das Gesuchte ergeben:

Ändern Sie dann die Werte für js.composer.reply_placeholder auf den Platzhaltertext, den Sie anzeigen möchten.

Sie können auch eine Themen-Vorlage in jeder Kategorie festlegen.

Wählen Sie im Dialogfeld „Kategorie bearbeiten" die Option „Themen-Vorlagen". Sie können eine benutzerdefinierte Vorlage für Ihre Kategorie hinzufügen.

Dies funktioniert gut, ABER der Benutzer muss den Vorlagentext löschen, bevor er mit dem Verfassen seines Beitrags beginnen kann.

Diese Theme-Komponente ermöglicht es Ihnen, den Text der Themen-Vorlage als Platzhalter (Wasserzeichen) anzuzeigen, anstatt als bearbeitbaren Text. Sie klicken einfach auf das Feld und beginnen mit der Eingabe.

Sie können festlegen, dass alle Themen-Vorlagen als Platzhalter angezeigt werden, oder dies fallweise tun, indem Sie einen [placeholder]-Indikator zur Themen-Vorlage hinzufügen.

Installation der Theme-Komponente

:hammer_and_wrench: Git-Repository: https://github.com/naidihr/discourse-topic-template-placeholders

:thinking: Wie installiere ich ein Theme oder eine Theme-Komponente?

Credits

Vielen Dank an @merefield für die Umstrukturierung des JQuery-Elements zur Nutzung des Ember-Frameworks und des Discourse-Kerns.

Bitte beachten Sie, dass die aktualisierte Version nur für Discourse-Versionen ab 2.4.1 getestet wurde. Wenn Sie eine frühere Version von Discourse verwenden, versuchen Sie bitte die Originalversion, die in Version 2.3.10 getestet wurde.
Repository der Originalversion: https://github.com/naidihr/discourse-topic-template-placeholders_original

35 „Gefällt mir“

PS-Entwicklerhinweis: Ich musste einen JQuery-Hack anwenden, damit dies als Theme-Komponente funktioniert. Falls es möglich ist, den Platzhalter über das Modell zu aktualisieren, wäre ich Ihnen dankbar, wenn Sie mich darüber informieren würden.

8 „Gefällt mir“

Du kannst etwas wie Folgendes versuchen:

<script type="text/discourse-plugin" version="0.8">
  api.modifyClass("model:composer", {
    applyTopicTemplate() {
      this._super(...arguments);

      Ember.run.schedule("afterRender", () => {
        // führe hier deine Arbeit aus
      });
    }
  });
</script>

Damit solltest du in der Lage sein, eine benutzerdefinierte Logik hinzuzufügen, wenn Discourse Vorlagen für Themen nach Kategorien anwendet.

Allerdings ist diese Art, Dinge zu schreiben, etwas veraltet. Ich empfehle dir außerdem, diesen Artikel zu lesen, falls du vorhast, viel Zeit mit Discourse-Themen zu verbringen. Das wird dir das Leben erheblich erleichtern.

9 „Gefällt mir“

Tolle Idee für eine Theme-Komponente!

Ich habe bereits einen PR eingereicht, um Folgendes umzusetzen:

  • jQuery wird nicht mehr benötigt
  • Man muss sich keine Gedanken mehr über Timing machen (nutze das Ember-Framework und Discourse-Core, statt dagegen anzukämpfen)
  • Das Composer-Modell wird angepasst, um das Ergebnis zu erreichen (wie du richtig vorgeschlagen hast)

Ich werde nicht sauer sein, wenn du ihn nicht mergst, aber ich hoffe, es hilft, einen anderen Weg zu sehen :slight_smile:

(Ich kann nicht garantieren, dass es keine Bugs gibt, aber ich helfe gerne bei der Nachbesserung! :cowboy_hat_face: )

9 „Gefällt mir“

Danke, Robert. Ich habe den PR zusammengeführt. Sehr geschätzt :+1:

2 „Gefällt mir“

Das ist genau das, wonach ich gesucht habe! Du bist ein Gott! :bowing_man: :shallow_pan_of_food: :bowing_woman:
Bitte akzeptiere dieses bescheidene Emoji-Opfer. :canned_food:

1 „Gefällt mir“

FYI: Dies funktioniert nur, wenn Sie zuerst zur Kategorie gehen und ein neues Thema erstellen. Wenn Sie versuchen, ein neues Thema von der neuesten Seite aus zu erstellen und dann eine Kategorie aus dem Dropdown-Menü auszuwählen, wird der Text nicht angezeigt.

2 „Gefällt mir“

Das ist zu erwarten? So funktioniert die Topic-Vorlagen-Funktionalität normalerweise. Im zweiten Fall wird die Topic-Vorlage nicht berücksichtigt.

Aber ja, meiner Meinung nach könnte das sogar im Vanilla-Discourse ohne diese TC verbessert werden, um Ihren zweiten Fall zu unterstützen. Ich persönlich finde es ärgerlich, dass Benutzern die Vorlage nicht angezeigt wird, wenn sie den zweiten Weg wählen.

Diese TC nutzt einfach die Kernfunktionalität aus …

Vielleicht sprechen wir über unterschiedliche Dinge, aber bei mir funktioniert es so…

1 „Gefällt mir“

Das könnte an einem anderen Grund liegen, da es hier auf Meta funktioniert. Wenn du zu /latest gehst, den Composer öffnest und dann die Kategorie „Marktplatz“ auswählst, erhältst du die für diese Kategorie vorhandene Vorlage.

4 „Gefällt mir“

Ja, seltsam. Entschuldigung, ich glaube, es wurde behoben. Das hat mich schon ewig geärgert, scheint aber jetzt zu funktionieren.

Okay, das stellt eine neue Herausforderung dar. Haha.

4 „Gefällt mir“

Hallo Robert – ich habe es nach dem Merge getestet und es hat funktioniert, aber bei mir funktioniert es nicht mehr? Das betrifft die Override-Einstellung, nicht die Verwendung von [placeholder]. Könntest du das bitte auch mit deiner Build-Version überprüfen?

Außerdem hat es in meiner ursprünglichen Version genauso funktioniert, wenn man ein neues Topic von der letzten Seite startete und dann die Kategorie auswählte.

Vielleicht muss ich auf eine frühere Version zurückgehen…?

Ich schaue mir das gerade an. Gib mir noch ein bisschen Zeit.

OK, der PR für die Korrektur wurde erstellt: FIX: change the placeholder & template when switching selected Category by merefield · Pull Request #2 · naidihr/discourse-topic-template-placeholders · GitHub

Er übernimmt nun die Kategorie aus der Composer-Auswahl. Da dies erledigt ist, scheint es in allen Situationen zu funktionieren, bitte bestätige dies jedoch.

2 „Gefällt mir“

Hallo Robert, ich habe den letzten PR gemergt und auf die neueste Version der Theme-Komponente aktualisiert, aber es wird immer noch der Standard-Template-Text von mir angezeigt, obwohl ich „Alle Topic-Templates als Platzhalter anzeigen

2 „Gefällt mir“

Das funktioniert, aber es funktioniert überhaupt nicht, wenn „Alle Themenvorlagen als Platzhalter anzeigen

2 „Gefällt mir“

Kein Problem, Leute. Wir iterieren einfach. :). Ich werde mir das ansehen.

Update: PR FIX: resolve issue with displaying all Topic Templates as Placeholders by merefield · Pull Request #3 · naidihr/discourse-topic-template-placeholders · GitHub

Denkt daran, beim Auschecken die Seite neu zu laden, wenn ihr eine Einstellung ändert.

2 „Gefällt mir“

Super, Robert. Der letzte PR hat es behoben. Auch beim Erstellen eines Themas von den neuesten oder Kategorien-Seiten aus. Alles sieht jetzt gut aus. Danke, dass du dir die Zeit genommen hast, dir das anzusehen. Sehr elegante Lösung _super gemacht :wink::+1:

3 „Gefällt mir“

Kein Problem. Ein Vergnügen. Entschuldigung, mein anfängliches Testen hätte gründlicher sein sollen. Danke für deine Geduld.

Ich denke, wir sind auf dem richtigen Weg, hoffentlich!

Weiterhin tolle Ideen entwickeln und umsetzen!

3 „Gefällt mir“

Hallo zusammen! Wir finden die Idee dieser Theme-Komponente großartig!

Ich habe es gerade versucht, es auf unserer Discourse-Instanz zu installieren, aber dabei bin ich auf einige Probleme gestoßen.
Es scheint, dass bei Aktivierung im Theme einige der bereits vorhandenen Stile des Themes beschädigt werden.
Zum Beispiel die Schaltflächen im Benutzer-Dropdown-Menü:

sehen nach der Aktivierung so aus:


Zusätzlich dazu scheint der Platzhalter nicht zu funktionieren, sowohl wenn 'Alle deine Themen-Vorlagen als Platzhalter (Wasserzeichen-Text) anzeigen' aktiviert als auch deaktiviert ist.

Es könnte sein, dass unsere Discourse-Instanz die Version v2.3.10 ist?

Ich habe mir den Code hier angesehen und kann nicht erkennen, warum unser Styling so durcheinander ist.

Wir sind auf ein anderes Team angewiesen, das unsere Discourse-Instanz verwaltet und aktualisiert, und das ist eine ziemlich große Aufgabe.

Ich hoffe auf einen schnellen Tipp, um das eventuell zu beheben, aber wenn es an unserer Discourse-Version liegt, ist das auch in Ordnung!

Vielen Dank im Voraus :smiley: