Hallo,
ich würde gerne die Suchfunktion so erweitern, dass ich zwei voneinander unabhängige Suchen habe. Die eine soll alle Artikel durchsuchen, die andere soll nur eine bestimmte Kategorie durchsuchen.
In den Mandanteneinstellungen kann ich ja mit "searchable" die Suchreichweite einstellen - die gilt dann aber global. Gibt es eine Möglichkeit, das searchable für ein bestimmtes Modul zu konfigurieren und nicht global?
Alternativ wäre eine Suche möglich, die den Kunden die Auswahl treffen lässt, welche Kategorie durchsucht werden soll (per Dropdown oder so).
Vielen Dank schon mal!
Miriam
(Contenido 4.9.7)
Suchfunktion doppelt anlegen
-
- Beiträge: 4255
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Suchfunktion doppelt anlegen
Hallo Miriam,
zum einfachen Einsatz der Suche für 2 Bereiche solltest Du das Such-Modul duplizieren und eine Version entsprechend umbauen. Das 2. Modul könnte man dann anstelle der Zugriffe auf die Mandanteneinstellungen entweder hardcoded oder per Modul-Input konfigurierbar machen.
Das mit nur einem Modul umzusetzen wird nicht gehen, da das Modul immer auf dieselben Einstellungen zugreift. Hier kann man Einstellungen beispielsweise nur pro Sprache unterschiedlich machen.
Gruß aus Franken
Ortwin
zum einfachen Einsatz der Suche für 2 Bereiche solltest Du das Such-Modul duplizieren und eine Version entsprechend umbauen. Das 2. Modul könnte man dann anstelle der Zugriffe auf die Mandanteneinstellungen entweder hardcoded oder per Modul-Input konfigurierbar machen.
Das mit nur einem Modul umzusetzen wird nicht gehen, da das Modul immer auf dieselben Einstellungen zugreift. Hier kann man Einstellungen beispielsweise nur pro Sprache unterschiedlich machen.
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Suchfunktion doppelt anlegen
Vielen Dank für die Antwort.
Ich hatte das Modul sogar schon ein zweites Mal angelegt - ich habe aber keine Stelle gefunden, wo das "searchable" im Modul-Output vorkommt und ich es damit hardcoden könnte. Oder müsste ich das selber komplett da rein schreiben? Wenn ja, in welcher Form/an welcher Stelle (ich kenne mich leider (noch) nicht so mit PHP aus)?
Viele Grüße
Miriam
Ich hatte das Modul sogar schon ein zweites Mal angelegt - ich habe aber keine Stelle gefunden, wo das "searchable" im Modul-Output vorkommt und ich es damit hardcoden könnte. Oder müsste ich das selber komplett da rein schreiben? Wenn ja, in welcher Form/an welcher Stelle (ich kenne mich leider (noch) nicht so mit PHP aus)?
Viele Grüße
Miriam
-
- Beiträge: 4255
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Suchfunktion doppelt anlegen
Hallo Miriam,
das findet man inzwischen auch nicht mehr im Modul-Output. Leider ist auch im Demo-Mandanten das OOP-Fieber ausgebrochen und man lagert in meinen Augen inzwischen zu viel in Klassen aus. Gerade bei externen Parametern sollte man diese nicht in der Klasse selbst abfragen sondern der Klasse übergeben, bzw. zumindest eine Methode einbauen um diese auch nachträglich zu ändern.
Die von Dir benötigten Variable wird in der moduleigenen Klasse SearchResultModule in der Methode _getSearchableIdcats abgefragt. Die Klasse findest du im Modulverzeichnis im Ordner php in der Datei class.module.search_result.php.
Noch ein Tipp dazu, solltest du das Suchergebnismodul 2 Mal im gleichen Artikel verwenden wollen, so musst du bei einem der Module die Klasse umbenennen da es ansonsten zu Fehlern kommen wird.
Gruß aus Franken
Ortwin
das findet man inzwischen auch nicht mehr im Modul-Output. Leider ist auch im Demo-Mandanten das OOP-Fieber ausgebrochen und man lagert in meinen Augen inzwischen zu viel in Klassen aus. Gerade bei externen Parametern sollte man diese nicht in der Klasse selbst abfragen sondern der Klasse übergeben, bzw. zumindest eine Methode einbauen um diese auch nachträglich zu ändern.
Die von Dir benötigten Variable wird in der moduleigenen Klasse SearchResultModule in der Methode _getSearchableIdcats abgefragt. Die Klasse findest du im Modulverzeichnis im Ordner php in der Datei class.module.search_result.php.
Noch ein Tipp dazu, solltest du das Suchergebnismodul 2 Mal im gleichen Artikel verwenden wollen, so musst du bei einem der Module die Klasse umbenennen da es ansonsten zu Fehlern kommen wird.
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Suchfunktion doppelt anlegen
OOP-Fieber kommt von OOPitis
Das Mittel dagegen ist AntiOOP.
Ist da kein Konstruktor in der Klasse, der die Parameter auf nimmt?
Bei anderen prominenten CMS wird meistens ein Array übergeben, hier dann vermutlich die Mandanten-Einstellungen.
Oder kann man in der Klasse die Daten zuerst setzen?
Es fehlen einfach typische Anwendungsbeispiele in der Doku, dann können auch NichtOOPianer damit etwas anfangen.
Das Mittel dagegen ist AntiOOP.
Ist da kein Konstruktor in der Klasse, der die Parameter auf nimmt?
Bei anderen prominenten CMS wird meistens ein Array übergeben, hier dann vermutlich die Mandanten-Einstellungen.
Oder kann man in der Klasse die Daten zuerst setzen?
Es fehlen einfach typische Anwendungsbeispiele in der Doku, dann können auch NichtOOPianer damit etwas anfangen.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.