Re: Addon RexSearch (Fulltext-Search-Addon)
Verfasst: 29. Apr 2014, 15:19
Hier ist die Lösung deines Problems: https://github.com/RexDude/seo42/blob/m ... nicht-mehr
Diskussionen, Fragen rund um das CMS REDAXO
https://redaxo.org/forum/
Das würde mich auch brennend interessieren, so ist die Suche nicht sinnvoll einsetzbar..nitzer hat geschrieben:Gibt es schon eine Lösung zu dem "highlighted" Text?
rex_getUrl() musst du hier benutzen.Da ich URL Rewrite eingebaut habe, wäre es schön, wenn der Link zur gefundenen Seite ebenfalls Nutzerfreundlich aussehen würde.
Was war denn das Problem? Ist halt ein SEO Addon und SEO ist ein weites Feld(Hatte vor dem URL Rewrite das empfohlene SEO42 für REDAXO 4.5+ eingebaut, das ich aber nicht korrekt zum Laufen bringen konnte. Ist mir momentan auch zu überfrachtet. Ich benötigte nur nutzerfreundliche URL!)
Code: Alles auswählen
case 'ART_CONTENT_UPDATED':
$rexsearch->indexArticle($_params['id'],$_params['clang']);
break;
Code: Alles auswählen
$extensionPoints = array(
[...]
'SLICE_UPDATED',
'ART_CONTENT_UPDATED'
);
a587_register_extensionpoints($extensionPoints);
Code: Alles auswählen
Parse error: syntax error, unexpected T_FUNCTION in /var/htdocs/www.url.de/htdocs/redaxo/include/addons/rexsearch/plugins/reindex/config.inc.php on line 20
Code: Alles auswählen
<form id="rexsearch_form" action="index.php" method="get">
<fieldset><legend>Suche</legend>
<input type="hidden" name="article_id" value="REX_ARTICLE_ID" />
<input type="hidden" name="clang" value="REX_CLANG_ID" />
<input type="text" name="rexsearch" value="<?php if(!empty($_GET['rexsearch'])) echo htmlspecialchars($_GET['rexsearch']); ?>" />
</fieldset>
</form>
Code: Alles auswählen
<?php
define('SHOWMAX',10);
if(!empty($_REQUEST['rexsearch']))
{
$rexsearch = new RexSearch();
$rexsearch->setLimit(array($start = isset($_GET['start'])?intval($_GET['start']):0, SHOWMAX));
$result = $rexsearch->search($_REQUEST['rexsearch']);
if(count($result['simwords']) > 0)
{
$newsearchString = $result['simwordsnewsearch'];
$result = $rexsearch->search($newsearchString);
if($result['count'] > 0)
echo '<p>Meinten Sie <strong>'.$newsearchString.'</strong>?</p>';
}
if($result['count'] > 0)
{
echo '<ul class="searchresults">';
foreach($result['hits'] as $hit)
{
if($hit['type'] == 'db_column')
{
$text = $hit['article_teaser'];
if($hit['table'] == $REX['TABLE_PREFIX'].'article')
$hit['fid'] = $hit['values']['id'];
}
else
{
$text = $hit['highlightedtext'];
}
$article = OOArticle::getArticleById($hit['fid']);
echo '<li>
<h4><a href="'.($url = htmlspecialchars($article->getUrl())).'">'.$article->getName().'</a></h4>
<p class="highlightedtext">'.$text.'</p>
<p class="url">'.$REX['SERVER'].rex_getUrl($hit['fid'], $hit['clang']).'</p></li>';
}
echo '</ul>';
// Pagination
if($result['count'] > SHOWMAX)
{
$self = OOArticle::getArticleById(REX_ARTICLE_ID);
echo '<ul class="pagination">';
for($i = 0; ($i*SHOWMAX) < $result['count']; $i++)
{
if(($i*SHOWMAX) == $start)
echo '<li>'.($i+1).'</li>';
else
echo '<li><a href="'.$self->getUrl(array('rexsearch' => $_REQUEST['rexsearch'], 'start' => $i*SHOWMAX)).'">'.($i+1).'</a></li>';
}
echo '</ul>';
}
}
else
{
echo '<em>Leider nichts gefunden.</em>';
}
}
?>
Code: Alles auswählen
<form id="rexsearch_form" action="<?php echo rex_getUrl(42);?>" method="post">
<input type="text" name="rexsearch" value="<?php if(!empty($_GET['rexsearch'])) echo htmlspecialchars($_GET['rexsearch']); ?>"/>
<input type="hidden" name="article_id" value="12" />
<input type="hidden" name="clang" value="0" />
</form>
Code: Alles auswählen
<form id="rexsearch_form" action="index.php" method="get">
<fieldset><legend>Suche</legend>
<input type="hidden" name="article_id" value="REX_ARTICLE_ID" />
<input type="hidden" name="clang" value="REX_CLANG_ID" />
<input type="text" name="rexsearch" value="<?php if(!empty($_GET['rexsearch'])) echo htmlspecialchars($_GET['rexsearch']); ?>" />
</fieldset>
</form>
<?php
if(!empty($_REQUEST['rexsearch']))
{
$rexsearch = new RexSearch();
$result = $rexsearch->search($_REQUEST['rexsearch']);
if($result['count'] > 0)
{
echo '<ul class="searchresults">';
foreach($result['hits'] as $hit)
{
if($hit['type'] == 'article')
{
$article = OOArticle::getArticleById($hit['fid']);
echo '<li>
<h4><a href="'.($url = htmlspecialchars($article->getUrl())).'">'.$article->getName().'</a></h4>
<p class="highlightedtext">'.$hit['highlightedtext'].'</p>
<p class="url">'.$REX['SERVER'].rex_getUrl($hit['fid'], $hit['clang']).'</p></li>';
}
}
echo '</ul>';
}
}
?>
Code: Alles auswählen
action="index.php"
Code: Alles auswählen
action="<?php echo rex_getUrl($REX['ARTICLE_ID']); ?>"