Skip to content
Heiko Lübbe edited this page Dec 20, 2023 · 34 revisions

Joomla-Modul zitat-service.de 🇩🇪

Das Joomla-Modul zeigt ein zufälliges Zitat aus der Sammlung der Benutzergemeinschaft www.zitat-service.de an. Die Auswahl der Zitate kann eingeschränkt werden auf eine der fünf Sprachen, einen der über 500 Autoren, eine der über 500 Kategorien oder auf die selbst eingestellten Zitate. Wir sind seit 2007 kosten- und werbefrei online.

Note

Es gibt eine Joomla 5 Demo-Seite für das Modul: joomla.zitat-service.de

Installation

Das Joomla-Modul zitat-service.de unterstützt Joomla in den Versionen 3, 4 und 5. Die Installation des Moduls erfolgt im Joomla Backend als Administrator mit Erweiterungen installieren:

Konfiguration

Basis-Konfiguration

Wie bei jedem neu installierten Joomla-Modul ist eine erste Konfiguration nötig, damit dass Modul sichtbar wird. Als Joomla-Administrator unter System | Site Module | zitat-service.de:

  1. Position: z.B. Seitenleiste-rechts
  2. Status: Veröffentlicht
  3. Menüzuweisung: (typischerweise) Auf allen Seiten

Tip

Kurze Hinweise an den Eingabefeldern werden mit Inline-Hilfe umschalten eingeblendet.

Modul-Parameter

Mit den Basisoptionen des Moduls ist es möglich, die angezeigten Zitate:

  • auf einen Autor (z.B. Goethe),
  • eine Kategorie (z.B. Fußball) oder
  • einen Benutzer einzuschränken.

Benutzer sind hierbei die Login-Namen der Mitglieder, die die Zitate erstellt haben. Damit sind z.B. die selbst erstellten Zitate wählbar.

Die Auswahl * steht jeweils für alle Autoren, alle Kategories und für alle Benutzer.

Bei der Sprache des Zitates gibt es drei grundlegende Wahlmöglichkeiten.

  • Deutsch – als Beispiel für eine konkrete Sprache.
  • frontend – für Zitate in der von Joomla verwendeten Sprache. Ist eine Sprache nicht unterstützt, dann wird Englisch genommen.
  • all – um Zitate in allen Sprachen anzuzeigen.

Erweiterte Modul-Parameter

Der Reiter Erweitert ermöglicht zusätzliche Anpassungen.

Die Zitate sind verlinkt, und wenn vorhanden, dann sind auch der Autor und die Quelle verlinkt. Diese Links öffnen sich im gleichen Browserfenster/Tab. Wenn sich die Links in einem anderen Browserfenster/Tab öffnen sollen, dann ist ein Name, wie z.B. quote_links in Vorgabe für HTML-Links einzutragen.

Mit der Abfragemethode wird eingestellt, wie das Zitat geholt wird. Die empfohlende Abfragemethode ist Asynchron mit JavaScript im Web-Browser. Dabei wird das Zitat parallel zum Seitenaufbau geholt und beschleunigt so den Seitenaufbau. Dagegen wird bei der Abfragemethode Aus Joomla das Zitat zusammen mit dem Seitenaufbau geholt. Ein Vorteil ist hier, dass damit das Modul mehrfach auf einer Seite eingebunden werden kann.

Da bei der asynchronen Abfragemethode das Zitat geholt wird, nachdem die Seite schon aufgebaut wurde, können nachfolgende Module springen. Das Modul sollte daher das letzte Modul in einer Reihe sein (damit nach unten Platz ist) oder ein horizontaler Platz freigehalten werden. Dazu kann die minimale Höhe des Moduls mit dem Parameter Höhe angegeben werden. Eine minimale Höhe wird z.B. mit 20ex oder 200px angegeben. Die Kategorie WebDesignTest mit der Sprachwahl all ist gut geeignet, um die Höhe zu testen, da sie die kürzesten und längsten Zitate enthält.

Tip

Oder das Modul wird am Ende der Seite platziert.

Apassung der Darstellung

Das angezeigte Zitat kann mit Cascading Style Sheets (CSS) gestaltet werden. Das DIV-Element der Klasse quote umschließt das gesamte Zitat, hier kann z.B. ein Rahmen gesetzt werden. Enthalten sind zwei DIV-Elemente der Klassen quotation für das Zitat und source für den Autor und die Quelle. Das folgende Beispiel, entfernt die Standard-Link-Dekoration (unterstrichen), setzt das Zitat in schwarzer Schrift und größer als normal. Die Quelle (ob mit oder ohne Link) wird dann grau dargestellt:

styled

Dazu im Verzeichnis CSS des genutzten Templates eine Neue Datei erstellen:

div.quote * a {
  text-decoration:none;
  color: black;
  font-size: larger;
}
div.quote div.source, div.quote div.source a {
  color: gray;
}

Beispiele im Internet

Zitate in deutscher Sprache

Zitate in englischer Sprache

styled

Stand: 16. Dezember 2023

Fehlersituationen

404 No quote found for given parameters

Werden die Parameter ungünstig kombiniert, dann bleibt zum Auswählen kein Zitat mehr übrig. Im folgenden Beispiel wurde die Sprache Spanisch und der Autor Douglas Adams konfiguriert. Es sind jedoch keine Zitate von Douglas Adams auf Spanisch gespeichert:

404 No quote found for given parameters: language=es (Spanish), authorId=345 (Douglas Adams). "https://api.zitat-service.de/v1/quote_html?contentOnly=true&V_2.0.1_5.0.0_S&language=es&authorId=345"

👉 Die Parameter so wählen, dass noch Zitate gefunden werden.


Error: Failed to fetch (refused to connect)

Wenn CSP (Content Security Policy) aktiviert ist und eine Fehlermeldung auftritt, wie z.B.

Error: Failed to fetch "https://api.zitat-service.de/v1/quote_html?contentOnly=true&language=de"

Bitte den Fehler in der JavaScript-Console des Browsers überprüfen. Wenn dort folgendes zu finden ist:

zitatservice.js:32 Refused to connect to 'https://api.zitat-service.de/v1/quote_html?contentOnly=true&language=de' because it violates the document's Content Security Policy.

👉 Dann muss die CSP (Content Security Policy) Konfiguration der Website mit connect-src für die API ergänzt werden, um von dort die Zitate holen zu können. Zum Beispiel in einer Apache-Konfiguration:

# CSP
Header set Content-Security-Policy "connect-src 'self' api.zitat-service.de;"

👉 Alternativ kann für das Modul die Abfragemethode auf Aus Joomla umgestellt werden.


RuntimeException Connection timed out

Für den Abruf eines Zitates sind maximal drei Sekunden vorgesehen. Bei einer Zeitüberschreitung kommt es zu einer Fehlermeldung, wie z.B.

RuntimeException Connection timed out after 3000 milliseconds "https://api.zitat-service.de/v1/quote_html?contentOnly=true"

👉 Das könnte bei einer sehr schlechten Netzwerkverbindung vorkommen. Falls der Service wirklich nicht erreichbar ist, dann bitte ein Ticket erstellen.


Error: Invalid data "Goethe" for parameter "authorId"

In älteren Plugin-Versionen (vor 2.0.0) wurden Namen für konfigurierte Parameter verwendet, die jedoch nach einem Update des Plugins nicht mehr funktionieren. Im folgenden Beispiel war Goethe als Autor gespeichert:

Error: Invalid data "Goethe" for parameter "authorId". "https://api.zitat-service.de/v1/quote_html?contentOnly=true&authorId=Goethe"

👉 Nach dem Update des Plugins auf eine Version ab 2.0.0 müssen gespeicherte Parameter wie Autor, Kategorie und Benutzer einmalig neu ausgewählt werden, um auf die eindeutigen IDs umzustellen.


Tickets

Ist ein Fehler vorhanden oder wird eine Verbesserung benötigt? Bitte erstelle ein GitHub-Ticket. 👍