Konfigurieren erlaubter Einbettungsselektoren

:bookmark: Diese Anleitung erklärt, wie man die Einstellung „Zulässige Einbettungs-Selektoren" (allowed embed selectors) in Discourse konfiguriert. Diese Einstellung ist entscheidend, wenn Beiträge von einer externen Seite zu Discourse veröffentlicht oder Discourse-Kommentare mit JavaScript auf einer externen Seite eingebettet werden.

:person_raising_hand: Erforderliche Benutzerrolle: Administrator

:computer: Für fortgeschrittene Anwendungen sind einige CSS-Kenntnisse erforderlich

Wenn Sie Beiträge von einer externen Seite zu Discourse veröffentlichen oder Discourse-Kommentare auf einer externen Seite einbetten, können Probleme auftreten, bei denen der Button „Ganzen Beitrag anzeigen" (Show Full Post) nicht den korrekten Inhalt lädt. Diese Anleitung hilft Ihnen, die Einstellung „Zulässige Einbettungs-Selektoren" zu konfigurieren, um dieses Problem zu beheben.

Das Problem verstehen

Wenn Benutzer auf den Button „Ganzen Beitrag anzeigen" klicken, lädt Discourse möglicherweise nicht den korrekten Beitragstext von Ihrer externen Seite. Hier kommt die Einstellung „Zulässige Einbettungs-Selektoren" ins Spiel.

Die Einstellung finden

Sie können die Einstellung „Zulässige Einbettungs-Selektoren" an zwei Stellen finden:

  1. Suchen Sie auf Ihrer Seite für Site-Einstellungen nach „allowed embed selectors".
  2. Navigieren Sie zu Admin > Anpassen > Einbettung und wählen Sie dann den Reiter Crawler.

Die richtigen CSS-Selektoren identifizieren

So finden Sie die passenden CSS-Selektoren:

  1. Gehen Sie zu einem Beitrag auf Ihrer externen Seite, den Sie zu Discourse veröffentlicht haben.
  2. Öffnen Sie den Web-Inspector Ihres Browsers und untersuchen Sie die HTML-Struktur des Beitrags.
  3. Identifizieren Sie die HTML-Elemente, die den Hauptinhalt des Beitrags unmittelbar umgeben.

Beispielsweise befindet sich bei einem typischen WordPress-Beitrag der Inhalt oft in einem div mit der Klasse .entry-content innerhalb von article-Tags. In diesem Fall könnten Sie article .entry-content als CSS-Selektor verwenden.

Konfigurieren der Einstellung

Um verschiedene Inhaltstypen von Ihrer externen Seite zu laden, müssen Sie möglicherweise mehrere Selektoren hinzufügen. Zum Beispiel:

article .entry-content img, article .entry-content p, article .entry-content ul

Dieses Beispiel zielt auf Bilder, Absätze und ungeordnete Listen innerhalb des Eintragsinhalts des Artikels ab.

Testen und Fehlerbehebung

Das Finden der richtigen Selektoren erfordert möglicherweise einige Versuche und Irrtümer. Beachten Sie Folgendes:

  1. Discourse zwischenspeichert Inhalte externer Beiträge für 10 Minuten, sodass Änderungen möglicherweise nicht sofort sichtbar sind.
  2. Um dies zu umgehen, testen Sie mit mehreren Beiträgen oder leeren Sie den Cache auf einer Entwicklungsumgebung mit Rails.cache.clear in der Rails-Konsole.

Umgang mit Bildern

Wenn Sie Probleme beim Laden von Bildern von Ihrer Website haben, stellen Sie sicher, dass Ihre CSS-Selektoren die entsprechenden Bildelemente einschließen. Zum Beispiel:

article .entry-content img

Dieser Selektor zielt auf Bilder innerhalb des Eintragsinhalts des Artikels ab.

Weitere Überlegungen

  • Die Einstellung „Zulässige Einbettungs-Selektoren" gilt sowohl für Beiträge, die über die API veröffentlicht wurden, als auch für Beiträge, die mit dem Discourse-Einbettungsskript geladen wurden.
  • Sie müssen die Selektoren möglicherweise an die spezifische Struktur und die Inhaltstypen Ihrer Website anpassen.
  • Denken Sie daran, Ihre Änderungen nach der Aktualisierung der Einstellung zu speichern.
14 „Gefällt mir“

Können Bilder auf meiner Website angezeigt werden? Ich sehe keine Bilder?

Es sollte möglich sein, Bilder von Ihrer Website einzubinden. Es kann einige Versuche und Irrtümer erfordern, um die richtigen CSS-Selektoren zu finden, die Sie zu Ihrer Website-Einstellung allowed embed selectors hinzufügen können.

2 „Gefällt mir“

Ja, es funktioniert und wir können RSS-Bilder automatisch zum Titel des Beitrags hinzufügen.