Hallo zusammen,
ich verzweifle gerade daran, dem Suchmodul für das Addon:
REX-Version:
4.2.x
Bezeichnung:
Search Fulltext 1.0.7 Beta1
Description:
Automatische Indexaktualisierung jetzt durch Aktionen gelöst.
Indiziert wird nun der Seiteninhalt genau so, wie er auch im Frontend angezeigt wird.
In der vorherigen Version (vor 1.0.2.) wurden nur die Ausgaben des Backend verwendet, was nicht bei allen Modulen fehlerfrei funktionierte.
Vielen Dank an Koala, der den Großteil der Anpassung gemacht hat.
Weitere Details findet ihr im changelog (im Hauptverzeichnis des Addon)
Anregungen und Fehler bitte hier posten:
http://forum.redaxo.de/ftopic12568.html
AddOn-Version:
Download:
search_fulltext-1.0.7b1_1.zip
aus dem Downloadbereich beizubringen, auch etwas auszugeben auf einer Suchergebnisseite.
Als Ausgabemodul habe ich:
Code: Alles auswählen
<?php
/**
* Beispiel Such-Modul
*/
if (class_exists('rex_search_index'))
{
$result = null;
if (!empty($_REQUEST['rexsearch']))
{
$search = new rex_search_index();
$search->searchIds = true;
// 1 => sucht nur in Online Artikeln,
// 0 => sucht nur in Offline Artikeln,
// '' => sucht Status unabh�ngig
$search->status = 1;
// Einschraenken auf eine Sprache
// $search->clang = 0;
// Beliebige eigene SQL WHERE Bedingung
// $search->custom_where_conditions = ' AND article_id not in (3,6,7)';
// Anzahl anzuzeigender Buchstaben um den Suchtreffer herum
$search->surroundchars = 20;
// Anzahl der anzuzeigenden gefundenen Suchstellen im Artikel
$search->highlightsNum = 5;
// Pre-/Suffix fuer Suchwortauszeichnung
$search->sourround_start_tag = "<strong>";
$search->sourround_end_tag = "</strong>";
// Suche starten
$result = $search->rex_search($_REQUEST['rexsearch']);
}
if (is_array($result))
{
foreach ($result as $hit)
{
/*
* Verfuegbare Variablen:
* $hit['id']
* $hit['name']
* $hit['clang']
* $hit['highlightedtext']
*
* Alle Artikel/Kategorie Eigenschaften sind via OOF verfuegbar, Beispiel:
*
* $hit_art = OOArticle::getArticleById( $hit['id'], $hit['clang']);
* echo $hit_art->getUpdateUser();
* $hit_cat = OOCategory::getCategoryById( $hit_art->getCategoryId());
* echo $hit_cat->getName();
*/
print '<p>';
print '<a href='.rex_getUrl($hit['id'], $hit['clang']).'>';
print $hit['name'];
print '</a>';
print '<br />';
print $hit['highlightedtext'];
print '</p>';
}
}
}
else
{
print "Zu Ihrer Suchabfrage wurde leider nichts gefunden";
}
?>
Das Suchabfrageformular:
Code: Alles auswählen
<?
$result_id = 14;
$searchstr = (isset($_REQUEST['rexsearch'])) ? $_REQUEST['rexsearch'] : '';
?>
<form action="<?php echo rex_getUrl($result_id); ?>" method="post">
<input type="hidden" name="clang" value="<?php echo $REX['CUR_CLANG']; ?>" />
<input type="text" class="search" name="rexsearch" value="<?php echo $searchstr ?>" title="Suchbegriff" />
<input class="button" type="submit" name="submit" value="OK" title="Los!" alt="Los!" />
Im Backend unter "Module" > "Aktionen" habe ich auch eine Aktion angelegt:
Aktionsname: fullsearch
Postsave-Action [Wird nach dem Speichern des Moduls ausgeführt]:
Code: Alles auswählen
<?php
$search = new rex_search_index();
$search->setNeueinlesen($REX_ACTION['ARTICLE_ID'], $REX_ACTION['CLANG_ID']);
?>
Es will einfach nix finden
URL:
http://www.rechtsfachwirt.net
Falls von Belang: Es ist eine Redaxo 4.3.1 Version.
Nachtrag/Edit 19.14 Uhr:
Auch der Satz "Zu Ihrer Suchabfrage wurde leider nichts gefunden" erscheint nicht.