Suche nach dynamischen Inhalten

  • Hallo,

    ich habe mit Joomla ein Intranet aufgebaut, in dem u.a. eine Mitarbeiterliste mit Daten wie Name, Kurzzeichen, Tel.-Durchwahl, Email-Adresse der einzelnen Mitarbeiter in Tabellendarstellung erscheinen. Die Daten werden aus einer externen MySQL-Datenbank eines HR-Systems (eigener PHP-Code mit Hilfe des Sourcerer-Plugins) gelesen.

    Leider werden bei der Suche (sowohl über Standard als auch Index-Suche) keine Inhalte dieser Tabelle (z.B. Suchen nach Namen) gefunden. Bei Suche nach einem Begriff aus einem einleitenden Text oberhalb der Tabelle, wird er bei der Suche fündig; die Seite selber wird somit schon durchsucht.

    Auf einer anderen Seite, auf der ich Vorlagen und Dokumente zum Download zur Verfügung stelle, die ich aus einer CSV-Datei auslese, funktioniert die Suche nach dem Dokumentenname ebenfalls nicht.


    Gibt es hierzu ein Plugin oder andere Möglichkeiten, damit die Suche nach diesen dynamisch erzeugten Inhalte funktioniert?


    Im Voraus vielen Dank für Rückmeldungen.


    Grüße

    Jürgen

  • Zumindest mit der Standardsuche (com_search) kannst du ein search-Plugin schreiben, da du in diesem die Treffer per Datenbank on-the-fly abfragen kannst. Da man mit Joomla-Datenbankmethoden auch Fremddatenbanken abfragen kann, wäre diese meine Wahl. Keine Ahnung, ob das mit Sourcerer aus einem Plugin heraus auch geht.


    Ganz trivial ist es dann aber nicht, die Suchhits auf die richtigen Seiten zu verlinken. Da man sich leider unüberlegt entschlossen hat mit Joomla4 com_search zu entfernen, auch wenig zukunftssicher die ganze Arbeit, die man sich da macht.


    Die Indexsuche (com_finder) hinterlegt die Suchbegriffe schon während des Speicherns von Inhalten in der Joomla-Datenbank. Das muss man natürlich entsprechend implementieren. Da bei Euch jedoch extern gespeichert wird, sehe ich wenig Chancen. Kann aber daran liegen, dass ich diese verquaste und unverlässliche Suche nicht sonderlich mag und mich damit noch nicht beschäftigt habe.


    Mein Weg wäre für die Mitarbeiter vermutlich: Daten regelmäßig, automatisiert aus der Fremddatenbank in die Kontaktkomponente einlesen. Da funktioniert dann auch die Suche (com_search). com_finder müsste man jeweils nach Synchronisation den Index aktualisieren. Dafür gibt es ein CLI-Script im Ordner /cli/.


    Die Darstellung der Daten dann eben ganz normal aus Joomla heraus.


    Andere Möglichkeit vielleicht: Regelmäßig aus den Daten automatisiert einen Joomla-Beitrag erstellen bzw. aktualisieren, also die Tabelle fix in Joomla hinterlegen.


    Fallen mir noch diverse Zwischenlösungen ein, aber unterm Strich laufen sie alle auf ähnliches hinaus.


    EDIT: Ich rede immer nur von Joomla-Hausmitteln. Keine Ahnung ansonsten.