Volltextsuche Ausgabe von content
Volltextsuche Ausgabe von content
Hallo,
leider bin ich im Forum nicht fündig geworden...
ich hab ein Problem mit der Volltextsuche V1.1 (Contenido-4.4.4). Bei den Suchergebnissen habe ich anstatt der Lehrzeichen immer ein +. der Text sieht dann folgendermaßen aus:
Hier+steht+ein+Text+aus+dem+gefundem+Artikel
weiß jemand woran das liegt?
Gruß und Danke
leider bin ich im Forum nicht fündig geworden...
ich hab ein Problem mit der Volltextsuche V1.1 (Contenido-4.4.4). Bei den Suchergebnissen habe ich anstatt der Lehrzeichen immer ein +. der Text sieht dann folgendermaßen aus:
Hier+steht+ein+Text+aus+dem+gefundem+Artikel
weiß jemand woran das liegt?
Gruß und Danke
-
- Beiträge: 356
- Registriert: Do 15. Jan 2004, 21:32
- Wohnort: Mönchengladbach
- Kontaktdaten:
ok, mit einem urldecode ist das problem für die Ausgabe jetzt behoben.
@neu@cidnet.de wenn du möchtest kannst du mir deine suche natürlich mal posten. würde sie dann gerne mal testen!
gruß und danke
@neu@cidnet.de wenn du möchtest kannst du mir deine suche natürlich mal posten. würde sie dann gerne mal testen!
gruß und danke
-
- Beiträge: 356
- Registriert: Do 15. Jan 2004, 21:32
- Wohnort: Mönchengladbach
- Kontaktdaten:
Die links müssten angepasst werden, dann funtz es.
Suche Eingabe - Modul:
Eingabe leer lassen!
Ausgabe:
Suche Ausgabe - Modul:
Eingabe leer lassen!
Ausgabe:
Suche Eingabe - Modul:
Eingabe leer lassen!
Ausgabe:
Code: Alles auswählen
<table width='165' border='0' cellspacing='0' cellpadding='0' height=40>
<tr><td height='30' colspan='2' ></td></tr>
<tr><td height='21' width='22' style='border: 0px; border-top:1px; border-bottom:1px; border-color: #CC0000; border-style: solid; background-color: #FFFFc1'><img src='images/wuerfel.gif' width='22' height='21' border='0'></td>
<td width='143' style='border: 1px; border-left:0px; border-color: #CC0000; border-style: dashed; background-color: #FFFFc1; padding-left:10px' class='punkte'>Suche</td>
</tr>
<tr>
<td colspan='2' class='suche' height='22' style='border: 1px; border-top:0px; border-color: #CC0000; border-style: dashed; background-color: #FFFFc1; padding-left:10px'><p>Sie suchen einen bestimmten Artikel? Dann nutzen Sie doch einfach unsere Suche. Geben Sie einen Begriff ein, dieser wird dann ganz automatisch herausgesucht.</p>
</td>
</tr><tr>
<td colspan='2' class='suche' height='22' style='border: 1px; border-top:0px; border-color: #CC0000; border-style: dashed; background-color: #FFFFc1; padding-left:10px'>
<?php
echo "<center>
<table width=\"140\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr><td align=\"left\">
<form name='suche' method='POST' action='index.php?idcatart=173&lang=1&client=1'>
<input type=\"text\" size=\"\" class=\"feld\" name=\"suche\" value=\"$suche\"></td></tr>
<tr><td align=\"left\"> <br>
<button name=\"s\" type=\"submit\" value=\"Suchen\" size=\"2\" style=\"width: 80px;height:17px; color: black; border:0;background-color:#FFFF99;\">suchen</button></FORM></td></tr></table>";
?>
</td>
</tr>
</table>
<br>
Eingabe leer lassen!
Ausgabe:
Code: Alles auswählen
<?php
echo "<table border=0 cellpadding=0 cellspacing=0><tr>";
if($suche){
$suche = trim($suche);
$suchregexp = "(".str_replace(" ",")|(",$suche).")";
$s=ereg_replace("ü", "%FC",strtolower($suche));
$s=ereg_replace("ä", "%E4",$s);
$s=ereg_replace("ö", "%F6",$s);
$suchregexp .= "|$s";
$suchliste = explode(" ",strtolower($suche));
$sql = "SELECT
a.title AS title, a.idart AS idart, a.summary AS comment, a.idartlang AS idartlang,
b.idcat AS idcat,
c.parentid AS parentid,
d.value AS content
FROM
".$cfg["tab"]["art_lang"]." AS a,
".$cfg["tab"]["cat_art"]." AS b,
".$cfg["tab"]["cat"]." AS c,
".$cfg["tab"]["content"]." AS d
WHERE
a.idart = b.idart AND
a.idartlang = d.idartlang AND
b.idcat = c.idcat AND
c.idclient = '$client' AND
idlang = '$lang' AND
online='1' AND
(d.value REGEXP '$suchregexp' OR a.title REGEXP '$suchregexp' OR a.summary REGEXP '$suchregexp')";
$db->query($sql);
if ($db->num_rows() != 0){
for ($i=0; $i<$db->num_rows(); $i++) {
$db->next_record();
if ($auth->auth["uid"] == "nobody"){
$sql2 = "SELECT public FROM ".$cfg["tab"]["cat_lang"]." WHERE idcat='".$db->f("idcat")."'";
$db2 = new DB_Contenido; $db2->query($sql2); $db2->next_record();
if($db2->f("public") == 0) continue;
};
$num = 0 + $db->f("idartlang");
$results[$num][link] = "index.php?client=$client&lang=$lang&parent=".$db->f("parentid")."&idcat=".$db->f("idcat")."&idart=".$db->f("idart")."";
$results[$num][title] = $db->f("title");
switch ("CMS_VALUE[2]") {
case 0: $results[$num][text] = "";break;
case 1: $results[$num][text] = $db->f("comment");break;
case 2: $results[$num][text] .= substr(strip_tags(rawurldecode($db->f("content"))),0,100)."...";
};
for($x=0;$x<count($suchliste);$x++){
$hits[$num] += substr_count(strtolower($db->f("title")), $suchliste[$x]) +
substr_count(strtolower($db->f("comment")), $suchliste[$x]) +
substr_count(strtolower($db->f("content")), $suchliste[$x]);
};
};
if(count($hits) > 0){
$hits = array_values($hits);
$results = array_values($results);
array_multisort ($results, SORT_DESC, SORT_NUMERIC, $hits, SORT_DESC, SORT_NUMERIC);
for ($i=0; $i<count($hits); $i++){
echo "<tr><td align=left bgcolor=\"#FFFFC1\"><font size=\"-1\"><a href=\"".$results[$i][link]."\" class='text'";
if("CMS_VALUE[3]"){echo "TARGET=\"CMS_VALUE[3]\" ";};
echo ">".$results[$i][title]."</a></font><br> <b><span class='text'>(".$hits[$i]." Treffer)<BR><img src=http://www.kirchekelzenberg.de/cms/cms/img/line_top.gif><br>";
echo $results[$i][text]."</span></b></td></tr>";
};
} else { echo "<tr><td class='text' align=center>Keine passenden Seiten gefunden.<br>Versuchen Sie es doch einfach mit einem anderen Suchbegriff.</td></tr>"; };
} else { echo "<tr><td class='text' align=center>Keine passenden Seiten gefunden.<br>Versuchen Sie es doch einfach mit einem anderen Suchbegriff.</td></tr>"; };
};
echo "</table>";
?>
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Wenn ich mich einmischen darf ... Ich habe mit der von neu geposteten Suche das gleiche Problem, was ich auch mit der anderen Suche 'ploetzlich' (ich vermute nach dem Update von 4.4.2 auf 4.4.4, der Zeitpunkt kann aber auch Zufall sein!) hatte, dass sie nicht mehr ging. Im errorlog steht dann so etwas:
[20-May-2004 18:23:46] PHP Warning: Argument to array_values() should be an array in /www0901/www.halchter.com/cms/front_content.php(563) : eval()'d code on line 640
[20-May-2004 18:23:46] PHP Warning: Argument 4 to array_multisort() is expected to be an array or a sort flag in /www0901/www.halchter.com/cms/front_content.php(563) : eval()'d code on line 642
Hat jemand eine Idee, wie ich das Problem in den Griff kriege?
[20-May-2004 18:23:46] PHP Warning: Argument to array_values() should be an array in /www0901/www.halchter.com/cms/front_content.php(563) : eval()'d code on line 640
[20-May-2004 18:23:46] PHP Warning: Argument 4 to array_multisort() is expected to be an array or a sort flag in /www0901/www.halchter.com/cms/front_content.php(563) : eval()'d code on line 642
Hat jemand eine Idee, wie ich das Problem in den Griff kriege?
-
- Beiträge: 356
- Registriert: Do 15. Jan 2004, 21:32
- Wohnort: Mönchengladbach
- Kontaktdaten:
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
-
- Beiträge: 356
- Registriert: Do 15. Jan 2004, 21:32
- Wohnort: Mönchengladbach
- Kontaktdaten:
ich habe die 4.3.3RC3
da läuft die suche
=>http://www.kirchekelzenberg.de/cms/cms/ ... p?idcat=71
phpinfo ist
=>http://www.kirchekelzenberg.de/infophp.php
da läuft die suche
=>http://www.kirchekelzenberg.de/cms/cms/ ... p?idcat=71
phpinfo ist
=>http://www.kirchekelzenberg.de/infophp.php
Im Script wird eine index.php benutzt, muss aber front_content.php sein damit es funzt.toerag hat geschrieben:hey habe gearde das suche-script eingebaut.. aber das problem ist, das gesagt wird, das man den link abändern muss.. aber wie mache ich das?? ich meine, wie kann ich denn den den link kennen?? ich meine ID etc..
hoffe, es kann mir einer helfen....
schönen abend noch
Beim Suchen-eingabe Modul habe ich folgenden Link ins Form eingebaut:
<form name='suche' method='POST' action='front_content.php?idcat=1&idart=XYZ&lang=XYZ&client=1'>
Bitte abändern, je nach dem welche idcat, idart und idlang du für die Suchen-ausgabe hast
und beim Suchen-Ausgabemodul musst Du index.php in front_content.php abändern.
Dat geid auch mit der 4.4.4
Kleines Problem:
Die Anzahl der Treffer wird nicht richtig angezeigt.
Für die Suchen ausgabe musst Du im Backend einen Artikel erstellen und diesen online schalten.toerag hat geschrieben:hey kenzo,kenzo hat geschrieben:Bitte abändern, je nach dem welche idcat, idart und idlang du für die Suchen-ausgabe hast
danke für deine antwort.. aber ich habe immer noch nicht herausgefunden, wie ich dann die idcat, idart und idlang herausbekomme..
kannste mir das auch noch erklären???
LG jan
Am besten unter Hauptnavigation, denn er soll ja nicht in der Navigation als Artikel erscheinen.
Also im Backend auf Content>>>Artikel>>>Hauptnavigation anklicken.
Dann neuen Artikel erstellen und online schalten.
Hast Du das getan, dann kanst Du diesen Artikel ja im Backend sehen.
Da gehst Du mit der Maus drüber und siehst ungefähr folgendes unten in der Statuszeile im Browser:
http://www.deineSeite.de/contenido/main ... e139a0b67d
In meinem Fall ist die idcat =1 weil Kategorie 1 Hauptnavigation.
Under Client ist 1, weil ich nur den enen habe.
Für dich ist die Nummer wichtig, die bei mir die 65 ist.
Dein Link im Form des Modul Suchen-Eingabe muss dann so aussehen:
<form name='suche' method='POST' action='front_content.php?idcat=1&idart=65&lang=65&client=1'>
best wishes
hallo,
danke für die gute erklärung der einbindung und anpassung des codes.
funktioniert soweit alles.
- ich habe ein schickes eingabefeld.
- wenn ich was reintippe und bestätige hüpft er auch auf die verknüpfte seite (idcat ...)
doch jetzt das problem, ich habe keine ausgabe der suche. muss ich das ausgabemodul irgendwie einbinden? sucht er sich das modul automatisch?
kappier dat irgendwie nicht so richtig glaub...
Es funktioniert. (hatte vergessen das template einzubinden).
riesendank für die tolle hilfe.
danke für die gute erklärung der einbindung und anpassung des codes.
funktioniert soweit alles.
- ich habe ein schickes eingabefeld.
- wenn ich was reintippe und bestätige hüpft er auch auf die verknüpfte seite (idcat ...)
doch jetzt das problem, ich habe keine ausgabe der suche. muss ich das ausgabemodul irgendwie einbinden? sucht er sich das modul automatisch?
kappier dat irgendwie nicht so richtig glaub...
Es funktioniert. (hatte vergessen das template einzubinden).
riesendank für die tolle hilfe.
hmmmmmmmmmmm
verdammt. passt soweit alles ganz gut.
doch wenn ich nach etwas suche, kommt das ergebnis bsp:
teilestamm
(21 treffer)
-----------------------------
stamdaten
(6 treffer)
------------------------------
usw...
wenn ich dann auf einen der punkte klicke kommt
die klassische msexplorer fehlerseite "die seite wurde nicht gefunden".
der code:
was hat es mit z.b. disem link auf sich? src=http://www.kirchekelzenberg.de/cms/cms/ ... op.gif><br>";
wie muss ich den anpassen?
verdammt. passt soweit alles ganz gut.
doch wenn ich nach etwas suche, kommt das ergebnis bsp:
teilestamm
(21 treffer)
-----------------------------
stamdaten
(6 treffer)
------------------------------
usw...
wenn ich dann auf einen der punkte klicke kommt
die klassische msexplorer fehlerseite "die seite wurde nicht gefunden".
der code:
Code: Alles auswählen
<?php
echo "<table border=0 cellpadding=0 cellspacing=0><tr>";
if($suche){
$suche = trim($suche);
$suchregexp = "(".str_replace(" ",")|(",$suche).")";
$s=ereg_replace("ü", "%FC",strtolower($suche));
$s=ereg_replace("ä", "%E4",$s);
$s=ereg_replace("ö", "%F6",$s);
$suchregexp .= "|$s";
$suchliste = explode(" ",strtolower($suche));
$sql = "SELECT
a.title AS title, a.idart AS idart, a.summary AS comment, a.idartlang AS idartlang,
b.idcat AS idcat,
c.parentid AS parentid,
d.value AS content
FROM
".$cfg["tab"]["art_lang"]." AS a,
".$cfg["tab"]["cat_art"]." AS b,
".$cfg["tab"]["cat"]." AS c,
".$cfg["tab"]["content"]." AS d
WHERE
a.idart = b.idart AND
a.idartlang = d.idartlang AND
b.idcat = c.idcat AND
c.idclient = '$client' AND
idlang = '$lang' AND
online='1' AND
(d.value REGEXP '$suchregexp' OR a.title REGEXP '$suchregexp' OR a.summary REGEXP '$suchregexp')";
$db->query($sql);
if ($db->num_rows() != 0){
for ($i=0; $i<$db->num_rows(); $i++) {
$db->next_record();
if ($auth->auth["uid"] == "nobody"){
$sql2 = "SELECT public FROM ".$cfg["tab"]["cat_lang"]." WHERE idcat='".$db->f("idcat")."'";
$db2 = new DB_Contenido; $db2->query($sql2); $db2->next_record();
if($db2->f("public") == 0) continue;
};
$num = 0 + $db->f("idartlang");
$results[$num][link] = "index.php?client=$client&lang=$lang&parent=".$db->f("parentid")."&idcat=".$db->f("idcat")."&idart=".$db->f("idart")."";
$results[$num][title] = $db->f("title");
switch ("CMS_VALUE[2]") {
case 0: $results[$num][text] = "";break;
case 1: $results[$num][text] = $db->f("comment");break;
case 2: $results[$num][text] .= substr(strip_tags(rawurldecode($db->f("content"))),0,100)."...";
};
for($x=0;$x<count($suchliste);$x++){
$hits[$num] += substr_count(strtolower($db->f("title")), $suchliste[$x]) +
substr_count(strtolower($db->f("comment")), $suchliste[$x]) +
substr_count(strtolower($db->f("content")), $suchliste[$x]);
};
};
if(count($hits) > 0){
$hits = array_values($hits);
$results = array_values($results);
array_multisort ($results, SORT_DESC, SORT_NUMERIC, $hits, SORT_DESC, SORT_NUMERIC);
for ($i=0; $i<count($hits); $i++){
echo "<tr><td align=left bgcolor=\"#FFFFC1\"><font size=\"-1\"><a href=\"".$results[$i][link]."\" class='text'";
if("CMS_VALUE[3]"){echo "TARGET=\"CMS_VALUE[3]\" ";};
echo ">".$results[$i][title]."</a></font><br> <b><span class='text'>(".$hits[$i]." Treffer)<BR><img src=http://www.kirchekelzenberg.de/cms/cms/img/line_top.gif><br>";
echo $results[$i][text]."</span></b></td></tr>";
};
} else { echo "<tr><td class='text' align=center>Keine passenden Seiten gefunden.<br>Versuchen Sie es doch einfach mit einem anderen Suchbegriff.</td></tr>"; };
} else { echo "<tr><td class='text' align=center>Keine passenden Seiten gefunden.<br>Versuchen Sie es doch einfach mit einem anderen Suchbegriff.</td></tr>"; };
};
echo "</table>";
?>
wie muss ich den anpassen?