Giter Club home page Giter Club logo

qanda's Introduction

FAQ / Fragen und Antworten für REDAXO 5.x & YForm 4.x

Mit diesem Addon können FAQ-Bereiche sowie generelle Fragen & Antworten eingegeben und verwaltet werden. Kostenlos für nicht-kommerzielle Projekte (CC BY-NC-SA 4.0). Bitte bei Fragen zur Lizenz und Nutzung [email protected] anfragen.

GitHub Logo

Features

  • Vollständig mit YForm umgesetzt: Alle Features und Anpassungsmöglichkeiten von YForm verfügbar
  • Einfach: Die Ausgabe erfolgt über rex_sql oder objektorientiert über YOrm
  • Flexibel: Filtere Fragen und Antworten nach Kategorien
  • Sinnvoll: Nur ausgewählte Rollen/Redakteure haben Zugriff
  • Suchmaschinenoptimiert: Bereit für das JSON+LD-Format und Strucured Data auf Basis von schema.org
  • Bereit für viel mehr: Kompatibel zum URL2-Addon

Tipp: Das Addon arbeitet hervorragend zusammen mit den Addons yform_usability

Steuere eigene Verbesserungen dem GitHub-Repository von qanda bei. Oder unterstütze dieses Addon: Mit einer Beauftragung unterstützt du die Weiterentwicklung dieses AddOns

Installation

Im REDAXO-Installer das Addon qanda herunterladen und installieren. Anschließend erscheint ein neuer Menüpunkt Fragen & Antworten.

Nutzung im Frontend

Beispiel-Modul

<h1>FAQ-Seite</h1>
<?php

echo qanda::showFAQPage(qanda::getAll()); // Json+ld

foreach (qanda::getAll() as $question) {
    echo '<details><summary>'.$question->getQuestion().'</summary>';
    echo '<div class="answer">'.$question->getAnswer().'</div></details>';
}
?>
<h3>Die wichtigsten Fragen</h3>
<?php
foreach (qanda::getAll() as $question) {
    echo '<details><summary>'.$question->getQuestion().'</summary>';
    echo '<div class="answer">'.$question->getAnswer().'</div></details>';
    echo qanda::showJsonLd($question);
}
?>

Die Klasse qanda

Typ rex_yform_manager_dataset. Greift auf die Tabelle rex_qanda mit Fragen und Antworten zu.

Beispiel-Ausgabe

$question = qanda::get(3); // Frage mit der id=3

// Frage und Antwort
dump($question->getQuestion()); // Frage
dump($question->getAuthor()); // Autor der Frage
dump($question->getAnswer()); // Antwort als HTML (sofern ein Editor angegeben wurde)
dump($question->getAnswerAsPlaintext()); // Antwort als Text, statt als HTML

// Kategorie
dump($question->getCategory()); // Kategorie zur Frage/Antwort mit der id=3
dump($question->getCategories()); // Kategorien zur Frage/Antwort mit der id=3

// Weitere Methoden
dump($question->getUrl()); // URL zur aktuellen Seite mit Sprungmarke `question-header-{id}`

Weitere Methoden unter https://github.com/yakamara/redaxo_yform/blob/master/docs/04_yorm.md

Die Klasse qanda_category

Typ rex_yform_manager_dataset. Greift auf die Tabelle rex_qanda_category zu.

Beispiel-Ausgabe einer Kategorie

dump(qanda_category::get(3)); // Kategorie mit der id=3
dump(qanda_category::get(3)->getAllQuestions()); // Alle Frage-Antwort-Paare der Kategorie id=3

Weitere Methoden unter https://github.com/yakamara/redaxo_yform/blob/master/docs/04_yorm.md

Nutzung im Backend: Eingabe von Fragen und Antworten.

Die Tabelle "FRAGEN"

In der Tabelle rex_qanda werden einzelne Frage-Antwort-Kombinationen festgehalten. Nach der Installation von qanda stehen folgende Felder zur Verfügung:

Typ Typname Name Bezeichnung
value text question Frage
validate empty question
value textarea answer Antwort
value be_manager_relation qanda_category_id Kategorie
value datestamp createdate Erstelldatum
value be_user updateuser Letzte Änderung von
value be_user createuser Autor
value prio prio Reihenfolge

Die wichtigsten Validierungen wurden bereits eingefügt.

Die Tabelle "KATEGORIEN"

Die Tabelle für Kategorien kann frei verändert werden, um Fragen / Antworten zu gruppieren oder zu Verschlagworten (als Tags).

Typ Typname Name Bezeichnung
value text name Titel
validate unique name
validate empty name
value choice status Status

Lizenz

MIT-Lizenz

Autor

Alexander Walther
http://www.alexplus.de
https://github.com/alexplusde

Projekt-Lead
Alexander Walther

Credits

qanda basiert auf: YForm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.