WbFAQ

Erzeugt eine "traditionelle" FAQ. "Traditionell" bedeutet:

  • alle Fragen und Antworten werden auf einer Seite angezeigt
  • Fragenliste (ggf. aufklappbar) zu Beginn der Seite
  • Frage/Antwort ggf. aufklappbar (d. h. es wird zunächst nur die Frage angezeigt, durch "Aufklappen" dann die Antwort jeweils darunter)

Für jede Seitengruppe kann eine eigene FAQ mit mehreren Kategorien erstellt werden. Es ist nicht möglich (und auch nicht geplant), Kategorien innerhalb einer Seite zu verschachteln.

WbFAQ erzeugt für jede Frage-Antwort-Kombination eine eigene Wiki-Seite; dies erleichtert beispielsweise das Einbinden eines bestimmten FAQ-Eintrags in andere Wiki-Seiten. Sofern Sie diese Funktionalität nicht benötigen oder nur eine kleine FAQ planen, sollten Sie sich auch das Recipe FAQToggleList anschauen; dieses wandelt einfache Definitionslisten in eine aufklappbare FAQ um.

Installation

  • Speichern Sie die Datei WbFAQ.zip in Ihrem cookbook-Verzeichnis und entpacken Sie sie.
  • Verschieben oder kopieren Sie die Datei WbFAQ.InputForm in Ihr wiki.d Verzeichnis
  • Verschieben oder kopieren Sie alle anderen Dateien mit Ausnahme der forms.php aus dem WbFAQ-Unterverzeichnis in Ihr pub Verzeichnis.
  • Verschieben Sie die Datei wbfaq.css von pub nach pub/css.

Ihr Ergebnis sollte nun so aussehen:

    ../cookbook
      |- WbFAQ.php
      |-/WbFAQ
        |- forms.php
    ../pub
      |- 1downarrow.png      
      |- 1uparrow.png
      |- arrow_down.png
      |- arrow_up.png
      |- delete.png
      |- edit.png
      |- kedit.png
      |- top.png
      |- move.png
      |-/css
        |- wbfaq.css
    ../wiki.d
      |- WbFAQ.InputForm

Fügen Sie nun folgende Zeilen in Ihre (farm)config.php ein:

    include_once( "$FarmD/cookbook/WbFAQ.php" );
    include_once("$FarmD/cookbook/togglelink.php");

Verwenden Sie folgendes Markup zum Einbinden der FAQ:

    (:wbfaqshow [groups=<Gruppenliste>]:)

Verwenden Sie folgendes Markup zum Einbinden eines Eingabeformulars für neue FAQ-Beiträge:

    (:wbfaqform [group=<Gruppenname>]:)

Markup

FAQ anzeigen

Zum Anzeigen der FAQ-Beiträge verwenden Sie einfach folgendes Markup:

     (:wbfaqshow:)

Standardmäßig wird der Gruppenname der Seite, in der die FAQ eingebunden ist, verwendet, um die Beiträge zusammenzustellen. Sie können aber auch eine oder mehrere Gruppen explizit angeben:

     (:wbfaqshow groups=FAQ,Hints:)

Wichtig: Wenn Sie Gruppennamen haben, die auch als WikiWord gelten ("Camel Case Schreibweise"), müssen Sie den Namen der Gruppe mit einem vorangestellten "`" entwerten!

Beispiel:

    (:wbfaqshow groups=`FAQ2,`FAQ3:)

FAQ Eingabeformular einbinden

Mit dem folgenden Markup binden Sie das Eingabeformular in Ihre Seite ein:

    (:wbfaqform:)

Normalerweise müssen Sie das nicht von Hand machen, da Ihnen die entsprechenden Icons in der FAQ zur Verfügung gestellt werden, sofern Sie die notwendigen Rechte besitzen. Neue Einträge fügen Sie dann über den "FAQ Admin" hinzu.

Auch hier kann ein expliziter Gruppenname angegeben werden:

    (:wbfaqform group=FAQ:)

Bitte beachten Sie, daß hier im Gegensatz zu oben nur ein Gruppenname angegeben werden kann!

FAQ-Beiträge bearbeiten

Klicken Sie einfach auf das "Bearbeiten" Icon in der FAQ-Ansicht, das allerdings nur vorhanden ist, wenn Sie die notwendigen Rechte besitzen. Sie können Änderungen auch über den "FAQ Admin" durchführen. Auch dieser Link wird Ihnen auf der Seite automatisch angeboten, wenn Sie die notwendigen Rechte besitzen.

Layout Optionen

Sie können die mitgelieferte wbfaq.css anpassen, wenn Sie mögen. Aber bitte: Seien Sie behutsam! Möglicherweise kommt es zu Darstellungsfehlern, wenn Sie zu viel ändern.

I18N (Übersetzung in andere Sprachen)

Sie können das FAQ Admin Backend in eine andere Sprache übersetzen, indem Sie die entsprechende PmWiki<lang>.XLPage anpassen. Hier ein Beispiel für Deutsch:

  ### wbFAQ
  'Category' => 'Kategorie',
  'Categories' => 'Kategorien',
  'Question' => 'Frage',
  'Answer' => 'Antwort',
  'show table of contents' => 'Inhaltsverzeichnis aufklappen',
  'hide table of contents' => 'Inhaltsverzeichnis zuklappen',
  'Edit Categories' => 'Kategorien bearbeiten',
  'Edit Entries' => 'Einträge bearbeiten',
  'Add category' => 'Kategorie hinzufügen',

Konfiguration

In der Regel können Sie die nachfolgenden Einstellungen so belassen, wie sie sind. Die Voreinstellungen sollten auf die meisten Fälle zutreffen.

Um eine Einstellung zu ändern, fügen Sie die entsprechende Variable in Ihre (farm)config.php ein, und zwar bevor Sie die WbFAQ.php einbinden.

$wbFAQCategoryToggle

Default: off

Standardmäßig werden die Fragen unterhalb der Kategorieüberschrift angezeigt, mit einem Pfeil zum Aufklappen. Wenn Sie nur die Kategorien anzeigen möchten (ebenfalls mit einem Pfeil zum Aufklappen daneben), setzen Sie diese Variable auf '1', 'on' oder 'y'.

Beispiel:

    $wbFAQCategoryToggle = 1;

$wbFAQAutoHide

Default: 1 (=ein)

In der Standardeinstellung werden alle Fragen (und Kategorien, wenn Sie $wbFAQCategoryToggle auf 'on' gesetzt haben) automatisch zugeklappt, wenn die FAQ-Seite aufgerufen wird.

Ist JavaScript im Browser deaktiviert, bleiben somit alle Kategorien und FAQ-Beiträge aufgeklappt, so daß der Besucher die FAQ problemlos lesen kann.

Um autohide abzuschalten, setzen Sie diese Einstellung auf '0' oder irgendeinen anderen Wert ungleich '1'.

Beispiel:

    $wbFAQAutoHide = false;

$wbFAQQuestListShow

Default: show

Oben auf der Seite wird automatisch eine (aufklappbare) Liste aller Fragen eingebunden. Wenn Sie dies nicht möchten, setzen Sie diesen Wert auf 'hide' oder 'off'.

$wbFAQQuestListInitState

Default: hide

Schließt die Liste der Fragen automatisch, wenn $wbFAQQuestListShow auf 'show' gesetzt ist. Um die Liste geöffnet zu lassen, setzen Sie diesen Wert auf 'show'.

$wbFAQEditForm

Default: WbFAQ.InputForm

$wbFAQAuthLevel

Default: admin

Kann verwendet werden, um die Rolle zu ändern, die ein Benutzer haben muß, um FAQ-Beiträge zu verwalten. In der Standardeinstellung muß der Benutzer über Admin-Rechte verfügen. Dies ist auch die empfohlene Einstellung.

Mögliche Einstellungen: read, edit, attr, upload, admin

(Nicht alle sind hier sinnvoll...)

    Beispiel: $wbFAQAuthLevel = 'edit';

$wbFAQCatFile

Default: $WorkDir/.wbFAQcategories

Datei zum Speichern der Kategorien. Alle Kategorien vür alle Seitengruppen werden in einer zentralen Datei gespeichert.

$wbFAQIndexFile

Default: $WorkDir/.wbFAQ

Datei zum Speichern des FAQ-Index. Alle FAQ-Beiträge von allen Seitengruppen werden in einer zentralen Datei gespeichert.

  • ) Es werden nur Index-Informationen hier gespeichert. Der eigentliche FAQ-Beitrag wird in einer eigenen Wiki-Seite gespeichert.

Hinweise

Damit dieses Recipe auch mit pmwiki-2.1.27 (und evtl. auch davor) funktioniert, ist eine (abgespeckte) forms.php enthalten. Diese ist für PmWiki ab Version 2.2.0 nicht mehr erforderlich und kann ggfs. gelöscht werden.

Ebenfalls enthalten ist eine angepaßte togglelink.php, welche es erlaubt, Grafiken als "Toggle Text" zu verwenden. Wenn Sie das ShowHide-Recipe eingebunden haben, kann es möglicherweise zu Problemen kommen. Sollte das passieren, stellen Sie die originale togglelink.php aus dem ShowHide-Recipe wieder her und speichern die aus dem WbFAQ.zip unter einem anderen Namen, etwa wb_togglelink.php. Ändern Sie dann Ihre (farm)config.php und passen Sie folgende Zeile an:

    include_once("cookbook/wb_togglelink.php");

Bekannte Fehler

  • Der [Abbrechen] Button hatte beim Anklicken keinerlei Effekt, daher gibt es ihn nicht mehr. ;) Die FAQ-Eingabeseite öffnet sich statt dessen in einem neuen Fenster (oder Tab), welches nach Bearbeitung einfach geschlossen werden kann.

ToDo

  • Option zum Verschieben oder Duplizieren von Kategorien in andere Seitengruppen.
  • Die Titel der"Go to top" und "Go to category top" Icons sind zur Zeit noch fest codiert (=können nicht übersetzt werden)

Release Notes

Friday, February 20, 2009
Some new icons for page navigation
Some minor fixes
Wednesday, February 11, 2009
First release.

This recipe was last tested on PmWiki version: 2.2.0

This page may have a more recent version on pmwiki.org: PmWiki:WbFAQ, and a talk page: PmWiki:WbFAQ-Talk.