Revamp Webseite: Übergreifende Suche
Die normale Suche im Joomla umfasst lediglich die Webseite.
Wir möchten für unsere Webseite eine Suchfunktion welche zusätzlich zur Webseite auch unser Wiki, sowie auch den Webshop durchsucht.
Diese soll im Joomla integriert sein.
Recherche / Information
Erweiterungsmöglichkeiten
Es gibt verschiedene Varianten Joomla zu Erweitern.
Module
Module sind die einfachste Erweiterungsmöglichkeit.
A module is a lightweight and flexible extension. They are used for small bits of the page that are generally less complex and are able to be seen across different components. [...]
Modules are lightweight and flexible extensions used for page rendering. These modules are often “boxes” arranged around a component on a typical page.
Plug-ins
A plugin is a kind of Joomla! extension. Plugins provide functions which are associated with trigger events. Joomla provides a set of core plugin events, but any extension can fire (custom) events. [...]
[It means that] either the Joomla! core or a third party component or module can trigger an event which causes one or more plugins to execute some code.
- Creation: https://docs.joomla.org/J3.x:Creating_a_Plugin_for_Joomla
- Example: https://docs.joomla.org/J3.x:Creating_a_search_plugin
- Anleitung: http://cocoate.com/de/jdevde/plugin
Komponenten
Komponenten sind in der Regel grössere Einheiten, wie ein CiviCRM oder ein Webshop (gem. Andreas). Die Anleitung sehen aber alle etwa gleich kompliziert aus... Auch hat es einige Komponenten welche nicht allzu gross aussehen z.B. Banner.
A component is a kind of Joomla! extension. Components are the main functional units of Joomla!; they can be seen as mini-applications. [...] Created by a component, content is usually displayed in the center of the main content area of a template (depending on the template).
Vorarbeiten
Erste Versuche
Andru, 1.7.15:
Habe veruscht, ein com_caaz Modul zu schreiben, mit folgenden Dateien:
caaz.php controller.php views/first/view.html.php views/first/tmpl/default.php
Hier eine Anleitung: https://docs.joomla.org/J3.x:Developing_a_MVC_Component/Adding_a_view_to_the_site_part Funktioniert jetzt.
Cem, 2015-06-30:
Hello world Komponente gem.: https://docs.joomla.org/J3.x:Developing_a_MVC_Component/Developing_a_Basic_Component
Unter: /var/www/revamp/jupgrade-test/components/com_helloworld/
Beim installieren gab es eine Fehlermeldung.
Funktioniert aber trotzdem. Erreichbar unter: http://test.revamp-it.ch/index.php/de/?option=com_helloworld
Besprechung, Lösungsweg
(2015-06-30, Cem) Besprechung mit Andreas:
Wir haben gesehen dass es bereits verschiedene Such Plugins gibt: "Suche: Inhalt", "Suche: Kontakte"...
Daher sollte es möglich sein einfach ein weiteres zu erstellen. Dieses verwendet dann das Standard Such-Modul (zur Eingabe).
Dafür wäre es doch besser zum testen eine Kopie der Seite zu erstellen.
Testumgebung
Unter: /var/www/revamp/
Kopie von joomla/jupgrade
nach jupgrade-test
gemacht.
Seite erreichbar unter: https://rochen.revamp-it.ch:25443/revamp/jupgrade-test/index.php/de/
Im phpmyadmin:
Datenbank kopie von joomla_revamp
nach joomla_revamp_test
erstellt.
Unter: localhost --> Rechte --> revamp_user --> Bearbeiten
Die kopierte DB hinzugefügt mit gleichen Rechten wie alt.
In jupgrade-test/configuration.php
die neue DB eingetragen:
public $db = 'joomla_revamp_test';
Unter jupgrade-test/images/stories
logo.gif ersetzt ("testseite").
Wiki wird nicht angezeigt
--> Subdomain test.revamp-it.ch verwenden
In /etc/apache2/sites-available/revamp-it.ch
eintragen:
# Test <VirtualHost *:80> ServerAdmin webadmin@revamp-it.ch DocumentRoot /var/www/revamp/jupgrade-test ServerName test.revamp-it.ch </VirtualHost>
Seite erreichbar unter: http://test.revamp-it.ch
==> kein Effekt
==> es funktioniert, unklar warum, evtl. Tab im firefox neu geöffnet
Entwicklung
Hello Plugin
Ein erstes Suchplugin gemäss Tutorial erstellt: https://docs.joomla.org/J3.x:Creating_a_search_plugin
Unter: /var/www/revamp/jupgrade-test/plugins/search/hellocem/
Das meiste auskommentiert.
Ein Pseudo-Resultat zurückgegeben. Resultat Array gem. Tutorial.
Achtung: Beim Deinstallieren werden die Dateien gelöscht. Daher ist es sicherer im eigenen home zu entwickeln (auf rochen) und dann jeweils zu kopieren.
Datenbankabfrage Wiki
Zum testen die Seite aus der helloworld Komponente verwenden. (Siehe oben unter: #Erste Versuche.)
Mediawiki Plugin
Unter: /var/www/revamp/jupgrade-test/plugins/search/mediawiki/
Git repo (persönlich): https://github.com/rebootl/joomla-plg-search-mediawiki-git
Installation
Das Verzeichnis mediawiki
aus obigem Pfad nach <joomla-root>/search/plugins/
kopieren.
Im Administrator unter Erweiterungen --> Erweiterungen --> Überprüfen, Überprüfen, dann Installieren.
Dann unter Erweiterungen --> Plugins, das Plugin aktivieren und konfigurieren.
Es braucht in der Mediawiki Datenbank einen Benutzer mit SELECT
Berechtigung.
Weitere Anpassungen / ToDo / Bugs
- Unser wiki ist als iframe eingebunden. Um per URL darauf weiterzuleiten müsste dort noch eine Anpassung gemacht werden.
- Da wir den Suchindex von Mediawiki verwenden, funktioniert die exakte Suche so nicht.