Templating / Darstellung im Frontend

Template und CSS

ke_search kommt mit eigenen Template-Dateien und einer CSS-Datei, welche das Layout im Frontend bestimmen.

Sie können beides anpassen, um die Darstellung der Suchbox und der Ergebnisliste auf ihre eigene Website abzustimmen.

Eigene Templates verwenden

Um eigene Templates zu verwenden, kopieren Sie die Standard-Templates aus

typo3conf/ext/ke_search/Resources/Private

an einen Ort Ihrer Wahl (vorzugsweise in eine eigene Extension, oder aber unter fileadmin/).

Geben Sie den Pfad zu den Templates wie folgt an:

Eigene Fluid Templates verwenden
# ==============================================
# Typoscript configuration for ke_search
# ==============================================

# paths for fluid templating
plugin.tx_kesearch_pi1 {
  templateRootPath = fileadmin/template/ke_search/Resources/Private/Templates/
  partialRootPath = fileadmin/template/ke_search/Resources/Private/Partials/
  layoutRootPath = fileadmin/template/ke_search/Resources/Private/Layouts/
}

plugin.tx_kesearch_pi2 {
  templateRootPath = fileadmin/template/ke_search/Resources/Private/Templates/
  partialRootPath = fileadmin/template/ke_search/Resources/Private/Partials/
  layoutRootPath = fileadmin/template/ke_search/Resources/Private/Layouts/
}

Seit Version 2.5.0 ist es nicht mehr notwendig alle Templates, Partials und Layouts von ke_search zu kopieren um eigene Anpassungen durchführen zu können.

Statt einem Verzeichnis mit allen Templates, können nun mehrere Verzeichnisse angegeben werden die, wenn sie entsprechende Template-Dateien beinhalten, die Templates aus den vorherigen Verzeichnissen einzeln überschreiben.

Eigene Fluid Templates verwenden und dabei nur einzelne Templates überschreiben
# ==============================================
# Typoscript configuration for ke_search
# ==============================================

# paths for fluid templating
plugin.tx_kesearch_pi1 {
  templateRootPaths.5 = fileadmin/template/ke_search/Resources/Private/Templates/
  partialRootPaths.5 = fileadmin/template/ke_search/Resources/Private/Partials/
  layoutRootPaths.5 = fileadmin/template/ke_search/Resources/Private/Layouts/
}

plugin.tx_kesearch_pi2 {
  templateRootPaths.5 = fileadmin/template/ke_search/Resources/Private/Templates/
  partialRootPaths.5 = fileadmin/template/ke_search/Resources/Private/Partials/
  layoutRootPaths.5 = fileadmin/template/ke_search/Resources/Private/Layouts/
}

CSS

Sie können Ihr eigene CSS-Datei im Suchbox-Plugin oder per TypoScript selbst definieren:

Typoscript
plugin.tx_kesearch_pi1.cssFile = fileadmin/css/ke_search_pi1.css
plugin.tx_kesearch_pi2.cssFile = fileadmin/css/ke_search_pi1.css

Aussehen der Filter bestimmen

Sie möchten vielleicht einen Hook definieren, um den Filteroptionen ein individuelles Layout zu geben.

Erzeugen Sie dafür eine Hook-Extension (siehe "Ein eigener Index!") oder downloaden Sie "ke_search_hooks" aus dem TER.

ext_localconf.php
// register custom filter renderer hook
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['ke_search']['customFilterRenderer'] = array('EXT:ke_search_hooks/class.user_kesearchhooks.php:user_kesearchhooks');
ext_tables.php
// add new custom filter renderer
t3lib_div::loadTCA('tx_kesearch_filters');
$TCA['tx_kesearch_filters']['columns']['rendertype']['config']['items'][] = array('My filter rendering definity','my_customfilter');
class.user_kesearchhooks.php
class user_kesearchhooks {
	/**
	* Custom Filter Renderer
	*
	* @param   integer $filterUid uid of the filter as created in the backend
	* @param   array $options list of uids
	* @param   tx_kesearch_lib $kesearch_lib caller class
	* @return  string
	* @author  Christian Buelter <buelter@kennziffer.com>
	* @since   Mon Jan 10 2011 14:46:57 GMT+0100
	*/
	public function customFilterRenderer($filterUid, $options, tx_kesearch_lib $kesearch_lib) {
		$filterSubpart = '###SUB_FILTER_SELECT###';
		$optionSubpart = '###SUB_FILTER_SELECT_OPTION###';
		// add standard option "all"
		$optionsContent .= $kesearch_lib->cObj->getSubpart($kesearch_lib->templateCode, $optionSubpart);
		$filters = $kesearch_lib->filters->getFilters();
		$optionsContent = $kesearch_lib->cObj->substituteMarker($optionsContent,'', $filters[$filterUid]['title']);
		$optionsContent = $kesearch_lib->cObj->substituteMarker($optionsContent,'###VALUE###', '');
		$optionsContent = $kesearch_lib->cObj->substituteMarker($optionsContent,'###SELECTED###','');
		// loop through options
		if (is_array($options)) {
			foreach ($options as $key => $data) {
				$optionsContent .= $kesearch_lib->cObj->getSubpart($kesearch_lib->templateCode, $optionSubpart);
				$optionsContent = $kesearch_lib->cObj->substituteMarker($optionsContent,'###ONCLICK###', $kesearch_lib->onclickFilter);
				$optionsContent = $kesearch_lib->cObj->substituteMarker($optionsContent,'', $data['title']);
				$optionsContent = $kesearch_lib->cObj->substituteMarker($optionsContent,'###VALUE###', $data['value']);
				$optionsContent = $kesearch_lib->cObj->substituteMarker($optionsContent,'###SELECTED###', $data['selected'] ? ' selected="selected" ' : '');
				$optionsCount++;
			}
		}
		// fill markers
		$filterContent = $kesearch_lib->cObj->getSubpart($kesearch_lib->templateCode, $filterSubpart);
		$filterContent = $kesearch_lib->cObj->substituteSubpart ($filterContent, $optionSubpart, $optionsContent, $recursive=1);
		$filterContent = $kesearch_lib->cObj->substituteMarker($filterContent,'###FILTERTITLE###', $filters[$filterUid]['title']);
		$filterContent = $kesearch_lib->cObj->substituteMarker($filterContent,'###FILTERNAME###', 'tx_kesearch_pi1[filter]['.$filterUid.']');
		$filterContent = $kesearch_lib->cObj->substituteMarker($filterContent,'###FILTERID###', 'filter['.$filterUid.']');
		$filterContent = $kesearch_lib->cObj->substituteMarker($filterContent,'###ONCHANGE###', $kesearch_lib->onclickFilter);
		$filterContent = $kesearch_lib->cObj->substituteMarker($filterContent,'###DISABLED###', $optionsCount > 0 ? '' : ' disabled="disabled" ');
		return $filterContent;
	}
}

Typ-Icons

Die Darstellung von Typ-Icons in der Frontend Ergebnisliste ist flexibel konfigurierbar.

Beispielkonfiguration (Template Setup):
plugin.tx_kesearch_pi2.resultListTypeIcon.file_doc.file = fileadmin/img/doc.png

 

file_doc steht für Dateiformate wie file_xls, file_docs usw. oder für Inderer Typen wie page, news usw. Die Bilder können wie folgt in der Größe definiert werden:

 
plugin.tx_kesearch_pi2.resultListTypeIcon.file_doc.file.maxW = 25

Vorschau für Dateien

Auf Wunsch wird statt des Typ-Icons eine Vorschau von Dateien (PDF, Bilder) im Frontend generiert. Aktivieren Sie dazu im Plugin die Funktion "Zeige Vorschaubild statt Typ-Icon".

Die Bildgröße können Sie per Typoscript definieren: 

Typoscript
plugin.tx_kesearch_pi2.previewImage.file.maxW = 300
plugin.tx_kesearch_pi2.previewImage.file.maxH = 300

 

Weitere Typoscript-Konfigurationen können Sie für das IMAGE-Objekt angeben:

 
plugin.tx_kesearch_pi2.previewImage.
Renata (Archiv)
Eine detaillierte Beschreibung wie man Bilder zur Ergebnisliste hinzufügen kann wäre sehr hilfreich.
Rainer (Archiv)
Klasse wären ein Hook, um die komplette Ausgabe (incl. Basewrap) nachzubearbeiten (nicht nur die Ergebnisliste) und ein Mastertemplate um die gesamte Ausgabe zu steuern. Vielleicht noch zwei neue Marker IF_RESULT und IF_MESSAGE?;
Christian (Archiv)
Rainer, Was meinst Du mit "Mastertemplate"? Du kannst ja jederzeit ein eigenes Template für die komplette Ausgabe verwenden.

Feature-Wünsche bitte unter http://forge.typo3.org/projects/extension-ke_search/issues eintragen.
Manfred (Archiv)
Ist es möglich, dass die verlinkte Headline der Suchergebnis-Listenanzeige nicht noch einmal im nachfolgenden Fließtext angezeigt wird? Wie lässt sich diese Doppelung unterdrücken?
Christian (Archiv)
Die Headline sollte nicht nochmal im Fließtext auftauchen. Vielleicht hast Du bei Deinen Seiten den Seitentitel und die erste Überschrift auf der Seite gleich benannt? Dann sieht es so aus, als ob der Titel wiederholt werden würde.
Manfred (Archiv)
Die Headline im Fließtext und Seitentitel sollen identisch sein. Der User soll nach "Klick" auf die Headline der Teaser-Anzeige (in der Ergebnisliste) auf die Detail-Seite gelangen und dort auch die Headline vorfinden. Dies war uns wichtig, da die Headline immer aus einer Frage besteht und der nachfolgende Text immer die Antwort auf die Frage ist.
Gelöst habe ich mein Problem indem ich in meinem Template einen weiteren "subparts" gesetzt habe. Hier greife ich über Typoscript den Pagetitel ab und lasse ihn auf der Seite dann als Headline anzeigen.
Damit erreiche ich den Effekt wie oben beschrieben.
Manfred (Archiv)
Das hatte ich noch vergessen.
Danke für die schnelle Hilfe!
Michael (Archiv)
Habe TYPO3 4.5, tt_news, realurl und ke_search 1.3.0 in Verwendung. Bin über die Funktionen sehr begeistert, habe aber zwei Probleme:
1. im Suchfeld kann ich zwar Umlaute eingeben, allerdings findet ke_search nichts und zeigt mir dann die Umlaute durch Sonderzeichen ersetzt hat.
2. tt_news Beiträge werden ordnungsgemäß indiziert, aber im Suchergebnis wird lediglich die verlinkte Überschrift ausgegeben und kein Text, obwohl der content vorhanden ist. Liegt das an der Template-Datei ? Wenn ja, was muss ich ändern ?
Christian (Archiv)
Hallo Michael, das erste sieht mir nach einem UTF-8-Problem in Deiner Installation aus, grundsätzlich funktioniert ke_search mit Umlauten in UTF-8-Installationen. Zu Punkt 2 kann ich Dir leider auch nicht so allgemein weiterhelfen, ohne die Installation genauer zu kennen, grundsätzlich funktioniert auch das Anzeigen der Anreißer bei tt_news-Einträgen im Index.
Michael (Archiv)
Habe beide Probleme gelöst:
1. obwohl meine TYPO3 Installation und auch meine Datenbank auf utf-8 läuft, habe ich bei den meta Angaben "charset=iso-8859-1" eingetragen - und siehe da: die Umlaute werden im Input-Feld erkannt.
2. hatte im Plugin bei !"Zeige einen Text anstatt der Suchergebnisse, wenn kein Filter und noch kein Suchwort angegeben wurde." einen Haken gesetzt; nach Entfernen hatte ich auch die Suchergebnisanzeige.
Michael (Archiv)
Muss meine vorherige Aussage korrigieren:
2. das Problem liegt am Haken bei "Highlighten des Suchwort in Ergebnisvorschau"
Ist das Feld ausgewählt, wird lediglich der Seitenname angezeigt und verlinkt. Ist das Feld leer erhalte ich auch den Titel und den Content der News angezeigt.
Peter (Archiv)
Leider schaffe ich es nicht, keine Ergebnisse anzuzeigen, wenn noch kein Suchwort eingegeben wurde.

Hab ich irgendwas falsch eingestellt/verstellt? Oder ist es das normale Verhalten?

Wie kann ich das ändern?
Christian (Archiv)
Hallo Peter, dazu gibt es im Backend in den Flexform-Einstellungen des Plugins folgende Konfigurationsoption: "Zeige einen Text anstatt der Suchergebnisse, wenn kein Filter und noch kein Suchwort angegeben wurde."
Felix (Archiv)
Hallo Michael, ich hatte ein ähnliches Problem mit der Umlaut-Suche wie du. Ich konnte es lösen, indem ich in der Klasse tx_kesearch_lib_searchphrase in der Methode checkAgainstDefaultValue nicht strtolower($str), sondern mb_strtolower($str, 'UTF-8') verwendet habe. Das betrifft die beiden Variablen $searchString und $defaultValue.
Christian (Archiv)
Hallo Felix, dieser Fehler ist in der aktuellen Entwicklerversion bereits behoben: http://forge.typo3.org/issues/42345
Mihail (Archiv)
Danke, Felix.
Dein Tipp hat sehr geholfen. Jetzt läuft's.
Udo (Archiv)
Hallo nach Bergisch Gladbach!

Ich habe seit kurzem die Betreuung der Website wmh.de übernommen.
Dort wird ke_search eingesetzt.
Nach dem heute erfolgten Update bekomee ich immer eine leere Ergebnisliste. Bitte schickt mich mal in die richtige Such-Richtung.
Vielen Dank im voraus!
Sebastian (Archiv)
Hallo,

kann ich die die URLs der tt_news-Treffer so modifizieren, dass ich die Kategorie-ID der News mitgebe?

Ich schleife in allen tt_news-URLs die entsprechende Kategorie-ID mit und würde das auch gerne innerhalb der Suche machen.

Ideal wäre eine Manipulation des Suchergebnisses via TS ;O)

Viele Grüße aus Dortmund,

Sebastian
Christian (Archiv)
Hallo Sebastian, per TS geht das leider nicht, dazu müsstest Du mittels eines in PHP geschriebenen Hooks eingreifen.
Esben (Archiv)
Hallo Kennziffer Team,

die ke_search gefällt mir sehr gut.
Vielen Dank für die tolle Erweiterung.
In der Liste mit Anzeige des Datums ist es nicht ersichtlich, welches Datum angezeigt wird. Die letzte Aktualisierung, gecached am, ...?
Wenigstens sind die angezeigten Daten nicht eindeutig der letzten Aktualisierung zuzuschreiben.
Kann man das beeinflussen oder habe ich einen Denkfehler?
Danke im Voraus und schönen Gruß

Esben
Christian (Archiv)
Hallo Esben, das Datum ist das Datum der Erstellung der Seite oder wenn gesetzt das Datum der letzten Änderung (Felder crdate, SYS_LASTCHANGED, lastUpdated). Siehe ext/ke_search/hooks/class.user_kesearchhooks.php
Jan (Archiv)
Hallo Christian,
wir sind gerade dabei, die Website fian.de auf den neuesten Stand der Technik zu bringen, und dabei soll Eure schöne Extension zum Einsatz kommen.
Nun sollen in der Listen- und Detailansicht eines tt_news Eintrags jeweils die zugeordneten Schlagworte mit angezeigt werden, in einer kleinen Box mit Tags. Habt Ihr einen Tipp, wie man das umsetzen kann, ich habe in der Doku leider nichts dazu gefunden.
Danke & Grüße aus Kölle,
Jan
Christian (Archiv)
Hallo Jan, dass lässt sich derzeit nur über einen in PHP geschriebenen Hook realisieren. Aber das wäre auch eine schöne Funktion für die nächste Version. Du kannst ja einen Feature Request auf http://forge.typo3.org/projects/extension-ke_search/issues stellen.
Jan (Archiv)
Hallo Christian,
danke für die Antwort, ich habe einen Feature request erstellt.
In der Zwischenzeit werde ich die Keywords via Hook ins tt_news:newsKeywords feld schreiben und von da auslesen, ich hoffe, das klappt ;)
Viele Grüße,
Jan
Jan (Archiv)
Update:
Hab es jetzt doch anders gelöst, ich weiss nicht, ob es die feine englische Art ist, aber vielleicht hilft es ja jemandem:

1) Hook nach dieser Anleitung erstellt:
http://typo3blogger.de/tt_news-um-eigene-marker-erweitern/
2) Marker ###KEYWORDS_FROM_KESEARCH### in tt_news Template gesetzt
3) So sieht meine extraItemMarkerProcessor function aus:http://pastebin.com/UeuyFVqJ
Sven (Archiv)
Auf der Ergebnisseite wird das "Suchwort" ###SWORD### nicht angezeigt. Kann ich "sie suchten nach: Wort auch ausgeben?
Christian (Archiv)
Hallo Sven, das Suchwort wird standardmäßig in der Suchbox ausgegeben. Eine Darstellung "Sie suchten nach: SUCHWORT" ist im Standard nicht enthalten.
Dan (Archiv)
Hallo zusammen,
ist es möglich, im Suchergebnis anstelle der URL den Pfad (Breadcrumb) anzuzeigen. Bei einer intern vorhandenen Datenbank ist realurl nicht so relevant.

VG Dan
Christian (Archiv)
Hallo Dan, diese Funktion ist im Standard von ke_search nicht enthalten. Diese müsste z. B. über einen Hook gelöst werden.
Carsten (Archiv)
Hallo,
ich nutze ke_search (1.6.3) und ke_search_newstags (0.2.1) mit tt_news (3.5.2) in Typo3 4.7.18. Funktioniert soweit gut – vielen Dank! Eine Frage habe ich aber: Wie kann ich in der Ergebnisliste (auch bzw. besonders vor Eingabe eines Suchwortes/Filters) die Sortierung der tt_news Datensätze auf "datetime" umstellen? Falls ext/ke_search/hooks/class.user_kesearchhooks.php die richtige Stelle ist – was genau muss da rein?
Grüße
Carsten
Christian (Archiv)
Hallo Carsten, die Sortierung kannst Du im Backend in den Plugin-Einstellungen festlegen.
Carsten (Archiv)
Hallo Christian,
wenn ich mich nicht irre, kann ich da nicht zwischen crdate o.ä. unterscheiden. Und das Feld "datetime" gibt es so ja nur bei tt_news, für andere Content Elemente heißt das doch anders…
Oder habe ich grundsätzlich etwas übersehen?
Gruß
Carsten
Christian (Archiv)
Hallo Carsten, dies wird direkt in der news-Indexer-Klasse abgehandelt: Wenn datetime gesetzt ist, wird es verwendet, ansonsten crdate. Dies kann nur durch die Programmierung eines eigenen Hooks angepasst werden. Gruß, Christian
Carsten (Archiv)
Hallo Christian,
wenn ich mich nicht irre, kann ich da nicht zwischen crdate o.ä. unterscheiden. Und das Feld "datetime" gibt es so ja nur bei tt_news, für andere Content Elemente heißt das doch anders…
Oder habe ich grundsätzlich etwas übersehen?
Gruß
Carsten
Christian (Archiv)
Hallo Carsten, auch bei news (neben tt_news) gibt es das Feld datetime, bei Standard-Content-Elementen aber nicht, das ist also von Indexer zu Indexer unterschiedlich und individuell pro Indexer in der entsprechenden Klasse implementiert. Einfach mal in den Code schauen. ;-)
Thomas (Archiv)
das Ersetzen der Label für dei pagebrowser-Labels pagebrowser_prev / pagebrowser_next
funktioniert über plugin.tx_kesearch_pi1._LOCAL_LANG.default ...
nicht.
Ich wäre für Hinweise dankbar, wie man die Label ändert.
Ich habe es auch mal direkt in der locallang.xml versucht, aber das hat auch nichts verändert.
Christian (Archiv)
Hallo Thomas, hast Du es über plugin.tx_kesearch_pi2._LOCAL_LANG.... probiert?
Wolfgang (Archiv)
Hallo,

gibt es die Möglichkeit für diese Einstellung: "Individuellen Text verwenden, wenn keine Ergebnisse gefunden wurden?" ein eigenes Content-Element mit Text und Bild zu verwenden? Anstatt der Eingabe im Textfeld.

Gruß Wolfgang
Christian (Archiv)
Hallo Wolfgang. Nein, diese Möglichkeit gibt es leider nicht. Dazu müsste also ggf. die Programmierung angepasst werden.
Michael (Archiv)
Hallo;

es wäre schön, wenn der Menü-Titel (falls vorhanden) nicht im Fließtext auftauchen würde, sondern bspw. als <h2> ausgegeben werden würde.

Grüße
Michael
Christian (Archiv)
Hallo Michael, sorry, ich weiß leider nicht, worauf Du Dich beziehst.
Andreas (Archiv)
Hallo,
kann man das ausgegebene Datum mit der letzten Änderung (Marker ###DATE###) bei den Suchergebnissen formatieren? Im Moment erscheint bei mir das Datum so: tt-mm-jj; hätte aber gerne tt.mm.jjjj.

Danke für die tolle Extention,
Andreas
Christian (Archiv)
Hallo Andreas, hier wird die im Install-Tool hinterlegte Konfiguration zur Darstellung mit dem PHP date Befehl verwendet, diese wird in TYPO3_CONF_VARS -> SYS -> ddmmyy eingetragen, siehe class.tx_kesearch_lib.php
Markus (Archiv)
Zunächst Dank für die tolle Extension!
Bei mir werden z.B. Überschriften und Inhalte im Teaser ohne Leerzeichen dargestellt. Beispiel: ImpressumPeter Müller. An welcher Stelle kann ich das ändern?
Grüße, Markus
Christian (Archiv)
Hallo Markus, bei welchem Indexer ist das denn der Fall?
Karl, 24-12-15 16:01
Hallo,

seit dem Wechsel auf die Version 2.0 funktioniert die Icon-Typ Konfiguration per TS nicht mehr (plugin.tx_kesearch_pi2.resultListTypeIcon.file_doc.file = fileadmin/img/doc.png). Wenn die Zuweisung gesetzt ist, erscheint kein Icon; wenn die Zeile gelöscht ist, erscheinen die Default-Icons.

Muss die Konfiguration angepasst werden?

Danke und Grüße
Karl
Andreas, 19-01-16 11:06
Hallo,

habe jeweils ein eigenes Template sowie eine eigene CSS-Datei angegeben. Dies funktioniert soweit auch ganz gut. Leider werden nicht alle Informationen aus der CSS-Datei übernommen. Sobald die Suche ausgeführt worden ist, wird das Suchfenster wieder auf die Standardgröße gesetzt bzw. die Werte aus der Standard-CSS-Datei übernommen.

Sobald ich die Standard-CSS-Datei umbenenne oder lösche, wird alles, wie gewünscht, dargestellt. Möglich, dass dies ein Bug ist?

Schöne Grüße und danke,
Andreas
Christian, 19-01-16 11:53
Hallo Karl, das habe ich gerade nochmal getestet, es funktioniert bei mir mit der aktuellen Version 2.0 wie bislang auch. Vielleicht doch ein anderes Problem?
Peter, 21-01-16 08:56
Hallo Christian,

vielen Dank für die hervorragende Extension!

Die Suche funktioniert bereits sehr gut, nur würde ich gerne einstellen, dass der gesamte Teaser und nicht nur die Überschrift verlinkt wird. Leider finde ich aber nicht, wo ich das beeinflussen kann.

Liebe Grüße & besten Dank
Peter
Christian, 22-01-16 17:55
Hallo Peter, dazu müsstest Du das Template anpassen. Leg Dir ein eigenes Fluid Template an und passe es nach Deinen Wünschen an.
Tofu, 28-01-16 12:52
Gibt es die Möglichkeit meine eigenen Filter einzuschränken wenn ein Suchbegriff eingegeben und abgeschickt wurde. Ich würde gern die Suchergebnisse mit den Filtern abgleichen, so das dann die Filteroptionen reduziert werden auf die Suchtreffer. Also bräuchte ich irgendwie die Möglichkeit in der Funktion customFilterRenderer auf das aktuelle Suchergebnis zuzugreifen. Bin für jeden Tipp dankbar.
Tofu, 02-03-16 11:35
Gibt es den gar keine Möglichkeit anhand des eingegebenen Suchbegriffs, die Filter optionen einzuschränken. Das ist doch gang und gebe bei allen Suchenfunktionen
Christian oe, 16-03-16 18:10
Hallo an alle,

ich habe einen Kunden auf TPYPO3 6.2 upgedated (von 4.7) und die ke_search entsprechend auf 2.0.3.
Nun bin ich etwas verwirrt: Das Marker-Based Template scheint nicht mehr zu funktionieren, in das Fluid-Teplate (das ich natürlich auch gerne verwenden würde) scheint aber der customFilterRenderer nicht integriert?
Ich bin mir nicht ganz klar, wie weit der Prozess ist und wäre froh um einen Rat zum Vorgehen. Der customFilterRenderer ist fr en Kunden sehr wichtig.

Danke & viele Grüße!
oe
Christian, 21-03-16 11:28
Hallo Christian, gut möglich, dass der alte customFilterRenderer-Code für die Version 2 von ke_search modifiziert werden muss. Wir haben geplant, eine neue Version der HowTo-Extension ke_search_hooks herauszubringen, da werden dann die benötigten Änderungen einfließen.
Christian oe, 21-03-16 17:26
Hallo,

hier ein Nachtrag zu meiner Frage oben (falls es OK ist, das zu veröffentlichen). Ich bin das Problem folgendermaßen angegangen:

1) In das Partial "Filters.html" in <f:switch…>:
<f:case value="custom filter">
<f:render partial="Filters/Customfilter" arguments="{conf: conf, filter: filter}" />
</f:case>

2) Neue Datei in Partiale/Filters/: Customfilter.html (in meinem Fall ausgehend von "Checkbox.html"). Da rein:
{namespace ownViewHelpers=Vendor\Extension\ViewHelpers}
[...]
<f:for each="{filter.checkboxOptions}" as="option">
[… hier die Gestaltung der Links wie gewünscht. Viel ist möglich …]
[… Bsp. ViewHelper Number of Results for each Filter …]
<ownViewHelpers:getNumberOfResults option="{option}" />
[…]

3) In den ViewHelper
[...]
public function render($option) {
$kesearch_db = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('tx_kesearch_db');
// keep "tagsAgainst" in mind to restore later (otherwise search result will be influenced)
$storeTagsAgainstTemporary = array();
$storeTagsAgainstTemporary = $kesearch_db->pObj->tagsAgainst;
// use "tagsAgainst": prepare to check only for respective filter
// get results
$kesearch_db->pObj->tagsAgainst = array (1 => '+"#'.$option['tag'].'#"');
$count = $kesearch_db->countResultsOfContent;
$queryParts = $kesearch_db->getQueryParts();
$queryParts['LIMIT'] = '';
$query = $GLOBALS['TYPO3_DB']->exec_SELECT_queryArray(
$queryParts
);
$count = $GLOBALS['TYPO3_DB']->sql_num_rows($query);
// restore "tagsAgainst"
$kesearch_db->pObj->tagsAgainst = $storeTagsAgainstTemporary;
return $count;
}

Was mir noch fehlt, ist eine Möglichkeit des customFilterRenderer die Default-Sortierung der suchergebnisse je nach ausgewähltem Filter anzupassen.

Bin für alle Ideen dankbar.

viele Grüße!
oe
Rainer, 22-03-16 13:50
Hallo Christian,

ich möchte in meinem Fluid Partial ResultRows.html über der Trefferliste nicht nur die {numberofresults} ausgeben, sondern dazu auch noch den Suchbegriff. Gibt es dafür eine Variable?

Viele Grüße
Rainer
Nicki, 17-05-16 16:30
Hallo Christian,

in der neuen Version schaffe ich es nicht mehr das CSS komplett zu entfernen. Im Plugin selbst ist es gelöscht worden und per TypoScript sind folgende Versuche gestartet worden:

1.
plugin.tx_kesearch_pi1.cssFile >
plugin.tx_kesearch_pi2.cssFile >

2.
plugin.tx_kesearch_pi1.cssFile =
plugin.tx_kesearch_pi2.cssFile =

Im TypoScript selbst konnte ich auch keinen Wert cssFile finden. Hast du mir einen Tipp?

Danke und Grüße,
Nicki
Paul, 25-05-16 09:46
Hallo,

ich wollte eigene Templates nutzen und habe dementsprechend die Pfade mittels TS wie hier beschrieben angepasst. Für templates wie z.b. die NoResults.html funktioniert es. Aber bei der SearchForm nimmt er noch den initial pfad.

Ich habe aus neugierde die $this->conf['templateRootPath'] in der php wo die SearchForm geladen wird ausgegeben und da steht tatsächlich nicht mein pfad drin. Bei der NoResults tuts es aber.
Mir ist auch aufgefallen das die die initTemplate methode 2 mal aufgerufen wird. Beim 1. mal kennt es meine PFade nicht, beim 2. allerdings schon ...

Habe die neuste version installiert.
florian, 23-06-16 12:24
ist es möglich den chash eintrag bei den pagebrowser links zu entfernen. aufgrund dieses hashs komme ich bei der suche die max. 250 zeichen der url und dann fnkt. der link auf z.b. seite 2 nicht mehr.

bitte um info danke
Konrad, 11-07-16 15:04
Hi Florian, hast du das Problem lösen können?

Viele Grüße,
Konrad
Yann, 25-07-16 11:58
Das problem habe ich auch mit dem chash!
Paule, 26-08-16 15:52
geht das Templating eigentlich auch mit templateRootPaths statt templateRootPath?
Christian, 26-08-16 15:53
Hallo Paule, nein derzeit (2.3.1) noch nicht.
Hubert Küsters, 07-09-16 10:31
Hallo zusammen!
Komme gut klar mit dieser ausgezeichneten Extension - endlich eine gute Alternative zu IndexedSearch und deutlich besser zu handhaben als die SOLR-Extension!
Ich habe ein kleines Problem: Meine Seite ist in deutscher Sprache und es wird alles wunderbar übersetzt, also "Eingaben löschen" / "Finden" / "Sortierung" - nur die Sortierkriterien selbst werden nicht übersetzt: Also "sortdate" und "score" und "title" statt "Datum" / "Relevanz" und "Titel".
Da bin ich etwas ratlos - hat jemand eine Idee?

Ciao
Hubert
Theo, 27-11-16 14:36
Hallo
Oben wird beschrieben wie man das eigene CSS einbindet. Das geht gut. Leider wird aber auch das Standard CSS der Extension geladen. Um das Duplikat zu entfernen habe ich im SetUp des TypoScript Templates folgendes eingetragen:
plugin.tx_kesearch_pi1._CSS_DEFAULT_STYLE >
plugin.tx_kesearch_pi2._CSS_DEFAULT_STYLE >
Leider hat das nichts gebracht. Es werden beide CSS Dateien geladen.
Habt ihr hierzu einen Hinweis?
Vielen Dank für das Interesse.
theo
Matze, 01-12-16 15:50
Hallo Hubert,

via TS kann man die Einträge für score, sortdate und title nach folgendem Muster überschreiben:

plugin.tx_kesearch_pi2._LOCAL_LANG.default .orderlink_score = Relevanz

Beste Grüße
Christian, 15-02-17 15:30
Hi Christian,
kann man das Vorschaubild in der Ergebnisliste in irgendeiner Form cropen und oder ein class="xy" hinzufügen? Habe es über plugin.tx_kesearch_pi2.previewImage versucht, aber komme damit nicht weiter.

Gruss und vorab Dank!
Christian
Robert, 06-04-17 11:40
Hallo,

die angezeigten Vorschaubilder bei den Suchergebnissen der tx_news sind die originalen Bilder und nicht die zurecht geschnittenen. Gibt es eine Möglichkeit die gecroppten Bilder anzuzeigen?

Vielen Dank.


Gruß
Robert
Thomas, 10-04-17 11:50
Hallo zusammen!

Erstmal eine großen Lob an die ke_search-Entwickler. Es ist einfach ein geniales Teil.

Nun versuche ich mit verschiedensten Mitteln, die Tempalts/Layouts/Partials zu überschreiben.
No way. Nicht möglich.

Ich verwende Typo3 7.6.10 und ke_search 2.4.1

In TS steht bei mir:

plugin.tx_kesearch_pi1 {
templateRootPath >
templateRootPath = EXT:theme_sa/Resources/Private/Templates/ke_search/
partialRootPath >
partialRootPath = EXT:theme_sa/Resources/Private/Partials/ke_search/
layoutRootPath >
layoutRootPath = EXT:theme_sa/Resources/Private/Layouts/ke_search/
}
plugin.tx_kesearch_pi2 {
templateRootPath = EXT:theme_sa/Resources/Private/Templates/ke_search/
partialRootPath = EXT:theme_sa/Resources/Private/Partials/ke_search/
layoutRootPath = EXT:theme_sa/Resources/Private/Layouts/ke_search/
}

Ich erhalten diesen Snipet im Template-Analyzer. Nicht jedoch im TypoScript Object Brower. Dort stehen die originalen ke_search-Pfade drinnen.

Die Suche funktioniert wunderbar. Es geht nur noch um Template-Anpassungen.

Ich habe gefühlte 100 Varianten des obigen Snipets ausprobiert. Auch layoutRootPaths (mit 's' am Ende) und dessen Derivate. Wäre toll, wenn dies implementiert wäre! Ich muss z.B. nur ein File ändern, dafür muss ich jedoch alle Template-Files kopieren.

Nur, auch auf die Kopie komme ich nun nicht drauf... gibt es jemanden, der mir weiterhelfen kann, bitte?

Vielen Dank, Thomas
Marvin, 04-05-17 15:45
Super Plugin! ! ! Super gemacht. Es macht schon fast Spaß damit zu arbeiten. Aber aus irgendeinem Grund kann die CSS-Files nicht überschreiben.

Ich habe im Konstanten Editor folgendes rein geschhrieben:

# ke_search plugin config
plugin.tx_kesearch_pi1.cssFile = fileadmin/templates/css/search.css
plugin.tx_kesearch_pi2.cssFile = fileadmin/templates/css/search.css
plugin.tx_kesearch_pi3.cssFile = fileadmin/templates/css/search.css


Meiner Meinung nach komplett korrekt. Woran könnte es liegen das die Styles nicht angenommen werden?

Grüße =)
Christian, 04-05-17 16:21
Hallo Marvin,
klappt's, wenn Du die Konfigurationsanweisungen in das SETUP statt in die CONSTANTS schreibst?
Marvin, 05-05-17 13:05
Vielen dank für die schnelle Antwort! ! ! Ich habe die CSS-Datei jetzt via Flexforms überschrieben aber ich habe die custom Templatepfade in der Setup angepasst. Alles funktioniert!

Wunderschönen Tag noch =)
Thomas Wittich, 17-05-17 09:53
Hallo werte ke_search-Entwickler,

ich beziehe mich auf den Eintrag von Paule vom 26.08.2016:
"geht das Templating eigentlich auch mit templateRootPaths statt templateRootPath?"

Ich möchte lediglich das Search-Icon der Search-Form ändern. Das komplette Template einschliesslich der Backend-Templates dafür zu kopieren, um mir dann Probleme beim Update einzufangen, finde ich nur dafür eher übertrieben.

Daher mein starker Wunsch: Bitte führt doch die RootPaths ein - das wäre sehr fein!

Vielen Dank für Eure sehr genial Erweiterung!

Viele Grüße, Thomas
Melanie, 12-07-17 10:17
Hallo, vielen lieben Dank für eure tolle Extension,
gerade habe ich das Update auf Version 2.5.0 eingespielt. Nachdem ich templateRootPath in templateRootPaths.5 geändert hatte lief meine Seite auch wieder. Jetzt habe ich das Problem, dass die Vorschaubilder in der Suchergebnisliste viel zu klein erstellt werden (150x39 px). Eingestellt habe ich allerdings 1220x320.
plugin.tx_kesearch_pi2.previewImage.file.maxW = 1220
plugin.tx_kesearch_pi2.previewImage.file.maxH = 320

Ich bilde mir ein, dass es vor dem Update funktionierte.

Wo könnte der Fehler liegen?

Schon mal vielen Dank für eure Hilfe
Melanie
Hellfish303, 19-07-17 13:55
Ich habe selbiges Problem mit den preview Images... Ein Blick in class.tx_kesearch_lib.php in Zeile 1253 besagt:
$imageConf = $this->conf['previewImage.'];
Der Eintrag in $this->conf lautet allerdings auf ['previewImage'] (Ohne Punkt am Ende)
was zu einer leeren Image Konfiguration führt und dann auf den Fallback Wert von 150 zurück fällt.
Entweder verstehe ich hier etwas nicht, oder bei den Updates der letzten Zeit wurde etwas vergessen anzupassen.
Aufklärung wäre hilfreich, da die Kunden schon ungeduldig werden...
Kim, 24-07-17 14:31
Hallo

Leider kann ich auch nicht die config von "previewImage" anpassen.
Ich sehe das genauso wie "Hellfish303, 19-07-17 13:55"
Hier stimmt doch das mit dem Punkt nicht!!
Kim, 24-07-17 15:16
Hallo nochmal

nach ein bisschen probieren (und überlegen ;-) ) ist mir folgender QuickFix eingefallen:

Erst diesen Hook einrichten:
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['ke_search']['initials'][] = 'EXT:your_ext_name/Classes/Hooks/class.user_kesearchhooks.php:user_kesearchhooks';

Und diese Funktion hinterlegen:

class user_kesearchhooks {
public function addInitials(tx_kesearch_lib $kesearch_lib)
{
$kesearch_lib->conf['previewImage.'] = $kesearch_lib->conf['previewImage'];
$kesearch_lib->conf['previewImage.']['file.'] = $kesearch_lib->conf['previewImage']['file'];
}
}

Eventuell hilft es jemand bis es gefixt wurde
Kim
Ulrich Diehl, 05-10-17 17:55
Servus,

wenn ich es richtig im Kopf habe, funktioniert seit Version 8LTS nur noch sowas hier die "Plural-Variante" bei den Fluidtemplates, wollt ihr die Erweiterung nicht mal in der Art umbauen, bzw. was spricht dagegen?

layoutRootPaths {
10 = EXT:ke_search/Resources/Private/Layouts/
20 = EXT:sitemodification/Resources/Private/Layouts/
}
partialRootPaths {
10 = EXT:ke_search/Resources/Private/Partials/
20 = EXT:sitemodification/Resources/Private/Partials/
}
templateRootPaths {
10 = EXT:ke_search/Resources/Private/Templates/
20 = EXT:sitemodification/Resources/Private/Templates/
}

Ich musste nämlich zwingend die Templates anpassen, Out of the Box gabs jetzt in TYPO3 8.7.7 eine Fehlermeldung, und zwar:

Argument 1 passed to TYPO3\CMS\Fluid\View\StandaloneView::setTemplateRootPaths() must be of the type array, null given, called in /html/typo3/typo3conf/ext/ke_search/pi1/class.tx_kesearch_pi1.php on line 88
Fabi, 07-11-17 10:17
Tolles Tool! Das hilft mir wirklich sehr!

Ich habe zwei Probleme die das FLUID Partial "ResultRow.html" betreffen. Das sieht bei mir ganz simpel aus:

<span class="teaser_icon"><f:format.raw>{resultrow.imageHtml}</f:format.raw></span>
<span class="result-title"><f:format.raw>{resultrow.title}</f:format.raw></span>
<f:format.raw>{resultrow.tags}</f:format.raw>

1) Der Titel ist in einen Link zur Zielseite gewrapped, selbiges möchte ich nun beim Bild erreichen. Ich finde nirgends wo konfiguriert ist, dass resultrow.title einen Link enthält.

2) Bekomme die Tags (resultrow.tags) in folgender Form ausgegeben: Tag1 , Tag2 , Tag 3
Das überflüssige Leerzeichen zwischen den Kommas ist das eine, das andere ist dass ich die Tags gerne zusammen mit dem jeweiligen Filter ausgeben möchte:
Filter1 - Tag 1, Tag 2
Filter 2 - Tag 3

Ist das möglich?

Ich bin gerade erst dabei FLUID zu lernen und zu verstehen und würde mich riesig über nen Tipp freuen.

Vielen Dank & beste Grüße
Fabi
Niklas, 17-11-17 15:21
Ich muss noch mal auf das Problem mit der CSS Datei zurück kommen. Es kalppt nicht eine eigene CSS Datei einzubinden. Ich habs im Setup und den Constants versucht. Wie oben beschrieben.

TYPO3 CMS 8.7.8 und ke_search 2.6.1

Ansonsten super!

Grüße
Niklas
Niklas, 17-11-17 15:39
Ein Nachtrag: Nun weiss ich warum, solange eine CSS-Datei im Plugin für die Suchbox angegeben ist wird die genommen, wenn nichts im Feld steht greift das TS.
Katja, 11-04-18 15:16
Hi, I'm looking for a way to change how the date is shown on news search results. Now it's format dd-mm-yyyy.
I would like to have it as dd.mm.yyyy

Where could I change it?

Thanks in advance!
Henrik Raböse, 10-06-18 17:22
Leider ist die Extension immer noch sehr *Buggy*
https://stackoverflow.com/a/46724726

Das Templating funktioniert nicht out of the box. Sehr viel Nacharbeit ist nötig, um es zufriedenstellend in der 8.7 zum Laufen zu bekommen.

Kommentar hinzufügen

* - Pflichtfeld

Ihr Ansprechpartner für ke_search

Das Absenden ist erst dann möglich, wenn alle Pflichtfelder ausgefüllt sind und der Haken „Ich akzeptiere“ gesetzt ist. * Pflichtfelder

Hinweis zum Kontaktformular: Wir benötigen Ihren Namen um Sie ansprechen zu können und Ihre E-Mail-Adresse um Ihnen antworten zu können.
Datenschutzhinweise: Ihre Anfrage wird verschlüsselt übertragen. Sie erklären Sich damit einverstanden, dass wir Die Angaben zur Beantwortung Ihrer Anfrage verwenden dürfen. Weitere Informationen zum Datenschutz und Widerrufhinweise finden Sie auf unserer "Datenschutzerklärung".

zurück zum Kontakt
 

TYPO3 Agentur aus Leidenschaft. Wir erbringen alle Dienstleistungen rund um TYPO3. Von einfachen Webseiten bis hin zu TYPO3 Portal-Webseiten oder hoch komplexen TYPO3-Extensions. Wir engagieren uns im TYPO3 Security Board und in der Community. Unsere TYPO3 Agentur "lebt" TYPO3.