Sie befinden sich hier

Inhalt

Glossar-Erweiterung "Glossary Extended"

Bei der Suche nach einer Glossar Erweiterung für Typo3, hat man eine breite Auswahl an Extensions. "Glossary Extended" bietet eine gute Mischung aus Funktionsumfang und Leistung.

Fastnachtslexikon auf Basis von sg_glossary

Wer auf der Suche nach einer ausgereiften Glossar-Erweiterung für Typo3 ist, stößt auf eine Vielzahl von Extensions. Bei genauer Betrachtung der Funktionsumfänge stellt am aber enttäuschend fest, dass es "DAS Glossar-Plugin" für Typo3 gar nicht gibt.

Als gute Lösung und somit Empfehlung stellte sich beim Testen die Erweiterung "Extended Glossary" (key: sg_glossary) von Stefan Geith heraus. Sie bietet folgende Funktionen:

  • Einbindung von mehreren Bildern mit Beschreibung
  • Möglichkeit verwandte Einträge zu verknüpfen
  • Worte auf der Website können mit dem Aufruf des Glossareintrags verknüpft werden
  • FE-Benutzer können rechteabhängig Einträge im FE bearbeiten
  • basiert auf Templates

Extensionbeschreibung auf typo3.org

Installation

  1. Im Ext Manager die Extension sg_glossary suchen, herunterladen und installieren
  2. Einen Systemordner anlegen
  3. Befüllen des Ordners mit dem Glossar-Einträgen z.B. über den Wizard
  4. Platzieren des Plugins "Glossary Extended" als neues Contentelement auf einer Seite
  5. Einstellen des Plugin-Mode auf "search entries" für die Alphabetliste
  6. Konfiguration:
    1. Bei den beiden Feldern für die PageID die ID der aktuellen Seite eintragen
    2. den Haken bei "View/Edit in Popup-Window" entfernen
    3. beim Ausgangspunkt den oben erstellen Systemordner angeben
      Konfiguration
  7. Das gerade erstellte Contentelement kopieren und den Plugin-Mode auf "list + show entries" wechseln

Die Extension kann nun individuell konfiguriert werden, um z.B. die verwendeten Templates auszutauschen. Eine Liste der Konfigurationseinstellungen findet man in den Extension-Dateien ext_typoscript_setup.txt und ext_typoscript_constants.txt.

Tipps und Tricks zur Konfiguration 

Probleme mit dem RTE vermeiden

Die Extension bietet die Möglichkeit die Felder mit dem RTE zu bearbeiten. Damit das Parsen allerdings korrekt funktioniert und nicht alle Links, Umbrüche, Paragraphen und der Rest nicht verloren gehen benötigt man im  Setup des  Templates auf der Rootseite folgendes TS:

plugin.tx_sgglossary_pi1.stdWrap.normal.parseFunc =< lib.parseFunc_RTE

Hinweis auf noch nicht vorhandene Einträge

Die Konfiguration bietet die Möglichkeit auf die Verlinkung des Alphabetbuchstabens zu verzichten, wenn noch keine Einträge vorhanden sind. Wenn man diese Verlinkung haben möchte, ist ein kurzer Hinweis für den Nutzer sinnvoll.

Mit folgendem TS, eingetragen im Setup des Templates auf der Rootseite, wird das Template nach dem dem Eintrag ###EMPTYRESULT_PART### durchsucht.

plugin.tx_sgglossary_pi1.search.emptyResultAsSubpart = 1

Nun baut man noch folgendes in das glossary_list.tmpl Template vor das schließende </body> ein und kann den Eintrag modifizieren.

<!-- ###EMPTYRESULT_PART### -->
   <p>Noch keine Einträge vorhanden</p>
<!-- ###EMPTYRESULT_PART### -->

Konfiguration für RealURL

Die folgende Konfiguration wird in Bereich der postVarSets eingebaut, direkt in das Default-Array.

'postVarSets' => array (
 '_DEFAULT' => array (
// Konfiguration fuer sg_glossary
'suche' => array(
 array(
  'GETvar' => 'tx_sgglossary_pi1[searchmode]',
  'valueMap' => array(
   'buchstabe' => '1',
  ),
  'noMatch' => 'bypass',
 ),
 array(
  'GETvar' => 'tx_sgglossary_pi1[search][abc]',
  'valueMap' => array(
   'alle' => 'all',
  ),
 ),
 array(
  'GETvar' => 'no_cache',
  'noMatch' => 'bypass',
 ),
),
'siehe_auch' => array(
 array(
  'GETvar' => 'title',
 ),
),

'bedeutung' => array(
 array(
  'GETvar' => 'uid',
  'lookUpTable' => array(
   'table' => 'tx_sgglossary_entries',
   'id_field' => 'uid',
   'alias_field' => 'word',
   'addWhereClause' => ' AND NOT deleted',
   'useUniqueCache' => 1,
   'useUniqueCache_conf' => array(
    'strtolower' => 1,
    'spaceCharacter' => '-',
   ),
  ),
 ),
 array(
  'GETvar' => 'type',
  'noMatch' => 'bypass'
 ),
),

Kontextspalte