Verfasst: Do 10. Feb 2005, 10:36
Versuchs mal mit der Zeilevor der ZeileCode: Alles auswählen
cInclude("classes", "class.template.php");
Code: Alles auswählen
$tpl = new Template;
Das Diskussionsforum zum Open Source Content Management System
https://forum.contenido.org/
Versuchs mal mit der Zeilevor der ZeileCode: Alles auswählen
cInclude("classes", "class.template.php");
Code: Alles auswählen
$tpl = new Template;
Ich habe das gleiche Problem hat jemand ein Lösung dazu?Idrian hat geschrieben:Hallo Contenido Gemeinde,
ich habe die Suche soweit implementiert und es klappt auch alles soweit ganz prima. Nur einen kleinen Schönheitsfehler habe ich noch. Wenn ich auf einen Suchtreffer klicke um mir den betreffenden Eintrag anzeigen zu lassen und danach wieder auf die Suchergebnisse zurücklinken möchte, klappt das mit einem javascript:history.back() nicht. Es kommt immer ein "Seite kann nicht angezeigt werden". Muss ich für den Rücksprung auf die Suchergebnisse Variablen mit zurückreichen?
Zur Verdeutlichung:
ich habe in beiden Modulen $linkziel = "front_content.php?idcat=72" eingetragen. die idcat ist gleichlautend mit der Suchseite front_content.php?idcat=72
Beim Rücksprung mittels history.back() auf die Seite front_content.php?idcat=72 nach Betrachten des gesamten Artikels wird nur eine leere Seite angezeigt.
Gruß
Idrian
/cheer Danke für die schnelle Antwort hat wunderbar geklappt!Cyclist hat geschrieben:Das Problem hatte ich auch. Hier gibt es die Lösung
Code: Alles auswählen
Suchergebnisse für "polo"
Anzahl Treffer: 2
Polo Facelift
...
Sicherung Formmail
Gebrauchtwagen Anfrage
Anrede:
###name:anrede; type:select; valid:text; size:1; option:bitte auswählen; option:Herr; option:Frau; option:Firma; value:bitte auswählen###
Vorname / Nachname:*
###name:vorname; type:text; valid:simpletext; size:20; mandatory:true### / ###name:nachname; type:text; valid:simpletext; size:20; mandatory:true###
Email:
###name:email; type:text; valid:email; size:30; mandatory:true###
Vorwahl/Telefon*
###name:vorwahl; type:text; valid:integer; size:7; mandatory:true### - ###name:telefon; type:text; valid:integer; size:15; mandatory:true###
Rückruf:
###name:Rückruf[0];type:checkbox; valid:integer; value:Rueckruf### Ja, bitte rufen Sie mich zurück
Modell:
###name:modell;type:radio;valid:text; value:Lupo; selected:true### Lupo ###name:modell; type:radio; valid:text; value:Polo### Polo ###name:modell; type:radio; valid:text; value:Golf### Golf###name:modell;type:radio;valid:text; value:Bora; selected:true### Bora ###name:modell; type:radio; valid:text; value:Touran### Touran ###name:modell; type:radio; valid:text; value:New Beetle### New Beetle
wäre nett wenn du die geänderte version posten würdest, die anfrage kommt in letzter zeit immer öfter... damit wäre sicher einigen anderen suchenden geholfen...m2Designer hat geschrieben:/cheer Danke für die schnelle Antwort hat wunderbar geklappt!Cyclist hat geschrieben:Das Problem hatte ich auch. Hier gibt es die Lösung
Code: Alles auswählen
<?php
$linkziel = front_content.php?idcat=21";
//$linkziel = $auth->url();
?>
<form name="suche" action="<?= $linkziel ?>" method="get">
<input type='hidden' name='idcatart' value='39'>
<input type='hidden' name='lang' value='1'>
<input type='hidden' name='client' value='1'><table>
<table width="230" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><span style="font-size: 15px">Suche </span></td>
<td><input name="suchtext" type="text" size="20" class="input"></td>
<td><input name="submit" type="submit" value="Go" class="button"></td>
</tr>
</table>
</form>
Code: Alles auswählen
$linktarget = "CMS_VALUE[1]";
$extratext = "CMS_VALUE[2]";
if($linktarget == "") {
$linktarget = "_self";
}
if($extratext == "") {
$extratext = 0;
}
?>
<table>
<tr>
<td>Linktarget</td>
<td>
<select name="CMS_VAR[1]">
<option value="_self"<? if(strcmp("_self", $linktarget) == 0) echo " selected"; ?>>gleiches Fenster (_self)</option>
<option value="_new"<? if(strcmp("_new", $linktarget) == 0) echo " selected"; ?>>neues Fenster (_new)</option>
</select>
</td>
</tr>
<tr>
<td>Zusätzlicher Text zum Artikellink</td>
<td>
<select name="CMS_VAR[2]">
<option value="0"<? if($extratext == 0) echo " selected"; ?>>kein zusätzlicher Text</option>
<option value="1"<? if($extratext == 1) echo " selected"; ?>>Artikelkommentar</option>
<option value="2"<? if($extratext == 2) echo " selected"; ?>>Anfang des Artikeltextes</option>
</select>
</td>
</tr>
</table>
<?
Code: Alles auswählen
<?php
//$linkziel = "front_content.php?idcat=21";
$linkziel = $auth->url();
$ignore_konj = array("und","oder","als","wenn","auch","wo","wie");
$ignore_art = array("der","die","das","ein","eine");
$ignore = array("ich","du","er","sie","es","wir","ihr","sie");
$extratextLength = 200;
$suchtext = $_GET["suchtext"];
?>
<form name='suche' method='GET' action='front_content.php'>
<input type='hidden' name='idcatart' value='39'>
<input type='hidden' name='lang' value='1'>
<input type='hidden' name='client' value='1'><table>
<tr>
<td><span style="font-size: 15px">Suche </span></td>
<td><input name="suchtext" type="text" class="input"size="20" value="<?= $suchtext ?>"></td>
<td><input name="submit" type="submit" class="button" value="Go"></td>
</tr>
</table>
</form>
<?php
$linktarget = "CMS_VALUE[1]";
$extratext = "CMS_VALUE[2]";
/* DB Instances */
$db = new DB_Contenido;
$db2 = new DB_Contenido;
/* Template Instance */
cInclude("classes", "class.template.php");
$tpl = new Template;
if($suchtext != "") {
while(ereg(' ', $suchtext)) {
$suchtext = ereg_replace(' ', ' ', $suchtext);
}
$suchliste = explode(" ", strtolower($suchtext));
$suchliste = array_diff($suchliste, $ignore_konj, $ignore_art, $ignore);
$suchtext = trim(implode(" ", $suchliste));
if($verknuepfung == "oder") {
$suchregexp = "(" . str_replace(" ", ")|(", $suchtext) . ")";
$s = ereg_replace("ü", "%FC", strtolower($suchtext));
$s = ereg_replace("ä", "%E4", $s);
$s = ereg_replace("ö", "%F6", $s);
$suchregexp .= "|$s";
$sql = "SELECT " .
"A.title AS title, " .
"A.idart AS idart, " .
"A.summary AS comment, " .
"B.idcat AS idcat, " .
"D.value AS content, " .
"A.idartlang AS sideid " .
"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 . "')";
} // end if($verkuepfung)
else {
$sql = "SELECT " .
"A.title AS title, " .
"A.idart AS idart, " .
"A.summary AS comment, " .
"B.idcat AS idcat, " .
"D.value AS content, " .
"A.idartlang AS sideid " .
"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'";
while(list($key, $val) = each($suchliste)) {
$suchregexp = "(" . str_replace(" ", ")|(", $val) . ")";
$s = ereg_replace("ü", "%FC", strtolower($val));
$s = ereg_replace("ä", "%E4", $s);
$s = ereg_replace("ö", "%F6", $s);
$suchregexp .= "|$s";
$sql .= " AND (D.value REGEXP '" . $suchregexp . "' " .
"OR A.title REGEXP '" . $suchregexp . "' " .
"OR A.summary REGEXP '" . $suchregexp . "')";
} // end while
reset($suchliste);
} // end else($verknuepfung)
$db->query($sql);
if($db->num_rows() != 0){
while($db->next_record()) {
if ($auth->auth["uid"] == "nobody"){
$sql2 = "SELECT " .
"public " .
"FROM " .
$cfg["tab"]["cat_lang"] . " " .
"WHERE " .
"idcat = '" . $db->f("idcat") . "'";
$db2->query($sql2);
if($db2->next_record()) {
if($db2->f("public") == 0) {
continue;
} // end if(public)
} // end if(next_record)
} // end if(auth nobody)
$num = 0 + $db->f("sideid");
$results[$num][link] = "front_content.php?" .
"client=" . $client .
"&lang=" . $lang .
"&idcat=" . $db->f("idcat") .
"&idart=" . $db->f("idart");
$results[$num][title] = $db->f("title");
//anzuzeigenden Text ermitteln
switch($extratext) {
case 0:
$results[$num][text] = "";
break;
case 1:
$results[$num][text] = $db->f("comment");
break;
case 2:
$results[$num][text] = capiStrTrimSentence(strip_tags(urldecode($db->f("content"))), $extratextLength) . "...";
break;
} // end switch
while(list($key, $val) = each($suchliste)) {
$hits[$num] += substr_count(strtolower(strip_tags(urldecode($db->f("title")))), $val) +
substr_count(strtolower(strip_tags(urldecode($db->f("comment")))), $val) +
substr_count(strtolower(strip_tags(urldecode($db->f("content")))), $val);
} // end while
reset($suchliste);
} // end while(next_record)
if(count($hits) > 0) {
//anzahl hits speichern
$anzahlhits = count($hits);
$hits = array_values($hits);
$results = array_values($results);
array_multisort ($results, SORT_DESC, SORT_NUMERIC, $hits, SORT_DESC, SORT_NUMERIC);
} // end if(count hits)
} // end if(num_rows)
//Ausgabe-----------------
/* Start Output buffer */
ob_start();
if(count($hits) > 0) {
$tpl->reset();
$tpl->set('s', 'SUCHTEXT', $suchtext);
$tpl->set('s', 'TREFFER', $anzahlhits);
for($i = 0; $i < count($hits); $i++) {
$tpl->set('d', 'ARTIKELNAME', $results[$i][title]);
$tpl->set('d', 'TARGET', $linktarget);
$tpl->set('d', 'HREF', $results[$i][link]);
$tpl->set('d', 'TEXT', $results[$i][text]);
$tpl->next();
}
$tpl->generate('templates/search_found.html');
} // end if(count hits)
else {
$tpl->reset();
$tpl->set('s', 'SUCHTEXT', $suchtext);
$tpl->generate('templates/search_notfound.html');
} // end else (count hits)
} // end if(suchtext)
/* Read out buffer */
$html = ob_get_contents();
/* Clean buffer */
ob_end_clean();
/* Output buffer-contents */
echo $html;
?>
Code: Alles auswählen
<div>
Suchergebnisse für "<span class="h4">{SUCHTEXT}</span>"
<br>
Anzahl Treffer: <span class="h4">{TREFFER}</span>
</div>
<br>
<!-- BEGIN:BLOCK -->
<div>
<a href="{HREF}" target="{TARGET}" class="h4">{ARTIKELNAME}</a><br>
{TEXT}
</div>
<br>
<!-- END:BLOCK -->
Code: Alles auswählen
<div>
Es wurden keine mit Ihrer Suchanfrage "<span class="h4">{SUCHTEXT}</span>" übereinstimmenden Dokumente gefunden
</div>