Search by

schachbulle / contao-interview-bundle

Samson1964

Inhaltselement für Interviews mit abwechselnd gesetzten Fragen und Antworten, für Contao 4.13 und Contao 5.

Package info

github.com/Samson1964/contao-interview-bundle

Type:contao-bundle

pkg:composer/schachbulle/contao-interview-bundle

Statistics

Installs: 27

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

3.1.1 2026-09-02 18:02 UTC

This package is auto-updated.

Last update: 2026-09-02 18:03:06 UTC


README

Stellt für Contao ein Inhaltselement bereit, mit dem sich ein Interview aus beliebig vielen Frage-Antwort-Paaren zusammenstellen lässt. Zu jeder Frage und zu jeder Antwort kann zusätzlich ein Bild ausgegeben werden.

Das Element eignet sich für Redaktionsseiten, Vereinsnachrichten und überall dort, wo ein Gespräch abgedruckt werden soll, ohne dass die Redaktion die Auszeichnung von Hand in einen Text-Inhaltselement schreiben muss.

Voraussetzungen

  • Contao 4.13 LTS oder Contao 5
  • PHP 8.1 oder neuer
  • MultiColumnWizard (wird als Abhängigkeit automatisch mitinstalliert)

Installation

Über den Contao Manager nach schachbulle/contao-interview-bundle suchen und das Paket hinzufügen.

Oder auf der Kommandozeile:

composer require schachbulle/contao-interview-bundle

Anschließend die Datenbank aktualisieren — entweder im Contao Manager unter „Systemwartung“ oder auf der Kommandozeile:

vendor/bin/contao-console contao:migrate

Dabei wird der Tabelle tl_content das Feld interview hinzugefügt, in dem alle Frage-Antwort-Paare eines Elements gespeichert werden.

Verwendung

Inhaltselement anlegen

  1. Im Backend unter Artikel den gewünschten Artikel öffnen und ein neues Inhaltselement anlegen.
  2. Als Typ Interview wählen (Gruppe Texte).
  3. Im Abschnitt Einstellungen die Frage-Antwort-Paare eintragen.

Jede Zeile der Tabelle ist ein Frage-Antwort-Paar. Über die Schaltflächen am rechten Rand lassen sich Zeilen hinzufügen, löschen und verschieben — die Reihenfolge der Zeilen ist die Reihenfolge der Ausgabe im Frontend.

Die Felder einer Zeile

Feld Bedeutung
Veröffentlicht Nur angehakte Zeilen erscheinen im Frontend. So lassen sich einzelne Fragen vorbereiten oder zurückstellen, ohne sie zu löschen.
Frage Der Text der Frage, mit Rich-Text-Editor. Bleibt das Feld leer, wird im Frontend keine Frage ausgegeben.
Bild unter der Frage Beliebige Bilddatei aus der Dateiverwaltung. Wird unterhalb der Frage ausgegeben.
Bildgröße (Frage) Eine im Theme angelegte Bildgröße oder Breite/Höhe/Modus. Ohne Angabe erscheint das Bild in Originalgröße.
Antwort Der Text der Antwort, mit Rich-Text-Editor. Bleibt das Feld leer, wird im Frontend keine Antwort ausgegeben.
Bild unter der Antwort Wie bei der Frage, nur unterhalb der Antwort.
Bildgröße (Antwort) Wie bei der Frage.

Ein Interview kann also auch nur aus Fragen (etwa für einen Fragenkatalog) oder nur aus Antworten bestehen — leere Felder werden im Frontend übersprungen und hinterlassen keine leeren Absätze.

Wird ein Bild nachträglich in der Dateiverwaltung gelöscht, bleibt die Ausgabe fehlerfrei: Das Element lässt das Bild an dieser Stelle einfach weg.

Fragender und Befragter

Im Abschnitt Fragender und Befragter lassen sich Name und Bild der beiden Gesprächspartner hinterlegen. Anders als die Frage-Antwort-Paare gelten diese Angaben für das ganze Element: Bei einem Interview mit immer demselben Fragenden und demselben Befragten müssen sie so nicht in jeder Zeile wiederholt werden.

Feld Bedeutung
Name des Fragenden Erscheint bei jeder Frage. Bleibt das Feld leer, wird kein Name ausgegeben.
Bild des Fragenden Erscheint bei jeder Frage, zum Beispiel ein Porträtfoto.
Name des Befragten Erscheint bei jeder Antwort. Bleibt das Feld leer, wird kein Name ausgegeben.
Bild des Befragten Erscheint bei jeder Antwort, zum Beispiel ein Porträtfoto.

Alle vier Felder sind unabhängig voneinander optional — es kann also auch nur ein Name ohne Bild oder nur ein Bild ohne Name eingetragen werden. Fehlen beide Angaben für eine Seite, erscheint dort auch keine leere Zeile.

Name und Bild stehen jeweils unmittelbar vor der zugehörigen Frage beziehungsweise Antwort — und zwar nur bei den Zeilen, die tatsächlich eine Frage oder ein Bild dazu ausgeben; eine leere Zeile bekommt keinen eigenen Fragender-/Befragter-Block.

Die Bilder werden mit 80×60 Pixeln ausgegeben, zugeschnitten auf den wichtigen Bildausschnitt der jeweiligen Datei (Contao respektiert dabei automatisch den in der Dateiverwaltung markierten Bildausschnitt). Eine abweichende Größe lässt sich unter System → Einstellungen festlegen, siehe unten.

Überschrift, Template und Sichtbarkeit

Das Element bringt die üblichen Contao-Abschnitte mit: Überschrift, Template, Zugriffsschutz, Experten-Einstellungen (CSS-ID/-Klasse) und Sichtbarkeit (Start- und Ablaufdatum).

Einstellungen

Unter System → Einstellungen → Inhaltselement Interview gibt es zwei Einstellungen:

  • Standard-CSS einbinden — bindet das mitgelieferte Stylesheet bundles/contaointerview/default.css im Frontend ein. Die Einstellung ist ab Werk ausgeschaltet, damit ein Update das Aussehen bestehender Seiten nicht verändert. Wer das Aussehen vollständig aus dem eigenen Theme steuert, lässt sie aus.
  • Bildgröße von Fragendem und Befragtem — überschreibt die feste Voreinstellung von 80×60 Pixeln für die beiden Porträtbilder. Bleibt das Feld leer, gilt die Voreinstellung.

Das Stylesheet für das Backend wird immer geladen, aber ausschließlich im Backend — im Frontend entsteht dadurch kein zusätzlicher Ladeaufwand.

Ausgabe im Frontend

Das Element gibt je veröffentlichter Zeile bis zu vier Blöcke aus:

<div class="ce_interview block">
	<h2>Überschrift des Elements</h2>

	<div class="interview_person interview_interviewer">
		<figure class="image_container"></figure>
		<span class="interview_person_name">Name des Fragenden</span>
	</div>
	<div class="interview_question">Text der Frage</div>
	<div class="interview_question_image">
		<figure class="image_container"></figure>
	</div>

	<div class="interview_person interview_interviewee">
		<figure class="image_container"></figure>
		<span class="interview_person_name">Name des Befragten</span>
	</div>
	<div class="interview_answer">Text der Antwort</div>
	<div class="interview_answer_image">
		<figure class="image_container"></figure>
	</div>
</div>

Die Blöcke mit Name und Bild von Fragendem und Befragtem erscheinen nur, wenn im Abschnitt „Fragender und Befragter“ tatsächlich etwas eingetragen ist, und nur bei Zeilen, die auch eine Frage beziehungsweise eine Antwort ausgeben.

Die Bilder werden über das Contao-Teiltemplate image ausgegeben. Damit gelten die üblichen Contao-Regeln: responsive Bildgrößen (picture/srcset), Bildunterschrift aus den Metadaten der Datei und ein Verweis auf die Großansicht. Ob dieser Verweis eine Lightbox öffnet, entscheidet das Seitenlayout unter „Vorlagen-Einstellungen“.

Eigenes Aussehen

Für eigenes CSS stehen diese Klassen bereit:

Klasse Inhalt
.ce_interview das gesamte Inhaltselement
.interview_question der Text einer Frage
.interview_answer der Text einer Antwort
.interview_question_image das Bild unter einer Frage
.interview_answer_image das Bild unter einer Antwort
.interview_person der Block mit Name und Bild von Fragendem oder Befragtem
.interview_interviewer zusätzlich am Block des Fragenden
.interview_interviewee zusätzlich am Block des Befragten
.interview_person_name der Name innerhalb des Blocks

Das mitgelieferte default.css setzt die Frage in Fettschrift auf grauen Grund mit Fragezeichen-Symbol und die Antwort kursiv. Es ist als Vorschlag gedacht und darf im eigenen Theme gern überschrieben werden.

Eigenes Template

Im Abschnitt Template des Inhaltselements lässt sich ein eigenes Template auswählen. Dazu ce_interview.html5 aus dem Bundle-Verzeichnis src/Resources/contao/templates/ in den Ordner templates/ der Installation kopieren und dort anpassen, zum Beispiel als ce_interview_zweispaltig.html5.

Im Template stehen zur Verfügung:

  • $this->interview — die Liste der Frage-Antwort-Paare. Jeder Eintrag ist ein Array mit den Schlüsseln published, question, answer, question_image und answer_image.
  • $this->interview_css — der Schalter aus den Systemeinstellungen.
  • $this->interviewer_name, $this->interviewee_name — die eingetragenen Namen, oder ein leerer String.
  • $this->interviewer_image, $this->interviewee_image — wie die Bildschlüssel innerhalb von interview (siehe unten).

Die Bildschlüssel enthalten entweder false (kein Bild ausgewählt oder Datei nicht mehr vorhanden) oder ein Objekt mit den bekannten Contao-Bildfeldern (picture, src, alt, caption, href …) sowie unter figure das zugehörige Figure-Objekt.

Umstieg von Version 2.x

Bestehende Inhalte werden unverändert übernommen, eine Datenmigration ist nicht nötig. Zu beachten ist:

  • Version 3 setzt PHP 8.1 und Contao 4.13 voraus. Für ältere Installationen bleibt Version 2.1.1 verfügbar.
  • Die Bilder werden jetzt über das Contao-Teiltemplate image ausgegeben und in einen eigenen div mit der Klasse interview_question_image beziehungsweise interview_answer_image gefasst. Wer die Bilder bisher per CSS über .ce_interview figure angesprochen hat, sollte das Ergebnis prüfen.
  • Ein eigenes, aus Version 2 kopiertes Template funktioniert weiterhin, gibt die Bilder aber ohne responsive Bildgrößen aus. Es empfiehlt sich, das neue Template als Grundlage zu nehmen.

Lizenz

LGPL-3.0-or-later. Siehe LICENSE.

Fehler und Wünsche bitte als Issue melden.