Suchmodul auf halchter.com

benzomat
Beiträge: 42
Registriert: So 21. Aug 2005, 17:42
Wohnort: Ossiach / Österreich
Kontaktdaten:

Beitrag von benzomat » Mi 5. Apr 2006, 10:26

hallo,
so die suche an sich klappt ja ganz gut und auch schnell.
aber,
- es werden seiten aufgelistet, die NICHT online sind,
- es wird als titel der gefundenen seite, das angezeigt, was in den artikeleigenschaften steht, also da wo auch die artikelnummer zu finden ist.
das ist blöd, weil ich oft mehrere artikel zu einer kategorie hab, um die seiten zu aktualisieren, aber immer nur die neue online ist, der andere wird im hintergrund neu gemacht. daher hat in den eigenschaften auch jeder einen anderen namen.
da versteht das dann der besucher nicht mehr, da er nicht weiß, um welche seite es sich handelt.

kennt jemand dafür eine einfache lösung?

danke, gruss
Hans

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Mi 5. Apr 2006, 11:39

benzomat hat geschrieben:- es werden seiten aufgelistet, die NICHT online sind,
Bist du sicher? Im Modul ist eine WHERE-Abfrage:
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')";
und demnach werden nur die Artikel durchsucht, die online sind. Welche Contenido-Version benutzt du, eine 4.4er? Evtl. funktioniert bei der 4.6 die online-Abfrage anders, damit habe ich mich (noch) nicht befasst.
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!

benzomat
Beiträge: 42
Registriert: So 21. Aug 2005, 17:42
Wohnort: Ossiach / Österreich
Kontaktdaten:

Beitrag von benzomat » Do 6. Apr 2006, 09:01

hallo,
danke für die info, habs grad gelesen.
ich nutze die version 4.4.5-r1
ja, es ist echt so, es werden seiten die nicht online sind gelistet.

aber was mich am meistens stört ist das mit dem seitentitel....es werden immer die bezeichnungen aus der artikeleigenschaft gelistet.
ansonsten muss ich die beschreibungen/überschriften entsprechend ändern.

wegen "online" es hat was damit zu tun haben, dass ich die artikel nur in Content/Kategorie auf offline schalte und nicht auch noch in Content/Artikel/unter der Übersicht wo die artikel aufgelistet sind!
- das ist der fehler, hab die artikel auch da einzeln offline geschaltet und sie erscheinen nicht mehr in der suchauflistung - danke.

gruss
Hans
ansonsten, wenn ich nix finde, schicke ich dir per PM wenns nich anders geht oder du zeit hast die zugangsdaten zum reinschauen.

lux
Beiträge: 33
Registriert: Di 12. Okt 2004, 14:11
Wohnort: .at
Kontaktdaten:

Kleines Problem Für Profis

Beitrag von lux » Mo 2. Okt 2006, 22:20

Hallo Zusammen!

Großes Lob für die Super Suchfunze! Doch hab ich damit ein eher kleines Problem für Profis! Und zwar möchte ich es irgendwie realisiern, daß

1. die Headline anstatt des Titel ausgegeben wird
2. die Subheadline
3. das dazugehörende Thumb des Artikel
4. die Sortierung sollte nach möglichkeit nach dem Datum modifydate und modifytime - natürlich sollte diese auch angezeigt werden.

Zum Schluss sollte das Sucherergbnis wie die Artikelliste auf http://www.motornews.at aussehen!

Kann mir hier bitte jemand helfen da ich mit dem ganzen "komplizierten SQL" nicht durch bin!

Vielen Dank im vorraus für Eure hilfreiche Hilfe!

LUX
Das Leben besteht aus Nullen und Einsen!

synni
Beiträge: 7
Registriert: Do 9. Sep 2004, 16:11
Kontaktdaten:

Beitrag von synni » Do 12. Okt 2006, 23:05

hallo zusammen,

ist es bei dieser auch suche möglich bestimmte seiten auszuschließen?

ich habe mich schon ein wenig an dem sql statement probiert, doch leider bringt es nicht das geewünschte ergebnis.

mfg

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Do 12. Okt 2006, 23:12

synni hat geschrieben:ist es bei dieser auch suche möglich bestimmte seiten auszuschließen?
Sagen wir mal so: es ist nicht vorgesehen. Vielleicht kannst du mit dem Modul von 4.6.x kombinieren, da kann man angeben, wo gesucht werden soll/darf.
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!

lux
Beiträge: 33
Registriert: Di 12. Okt 2004, 14:11
Wohnort: .at
Kontaktdaten:

Bastelstunde

Beitrag von lux » So 17. Dez 2006, 22:28

Hallo Leute!

Ich hab wieder mal eine Bastelstunde eingelegt, da ich auf mein letztes Posting keine Rückmeldung erhalten hab.

So jetzt hab ich noch zwei Probleme die ich irgendwie nicht gebacken krieg, und zwar kann ich die Image_ID zwar auslesen, weiß aber nicht wie und wo Ich die Abfrage gestalten muss, das ich den Dateinamen erhalte.

Das zweite Problem ist das Datum und Uhrzeit nicht korrekt angezeigt werden (aktuelles Tagesdatum und 00:00 Uhr ???). Schlussendlich sollte anhand vom Datum/Uhrzeit die Artikelreihenfolge bestimmt werden!

Bitte um Mithilfe! Danke!

LUX

Anbei der Code:

Code: Alles auswählen

<?php 
echo " 
<table width=\"400\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> 
<tr><td align=\"left\" height=\"21\" valign=\"middle\"> 
<form name='suche' method='GET' action='front_content.php'> 
<input type='hidden' name='idcat' value='43'> 
<input type=\"text\" size=\"40\" class=\"feld\" name=\"suche\" value=\"$suche\" style=\"border:1px solid #ff0048; FONT-SIZE: 11px; WIDTH: 200px;  FONT-FAMILY: Arial; HEIGHT: 18px\" maxLength=60\"> &nbsp;<button name=\"s\" type=\"submit\" value=\"Suchen\" style=\"border:1px solid #ff0048; padding:0px; FONT-SIZE: 11px; WIDTH: 75; COLOR: #666666; FONT-FAMILY: Arial; HEIGHT: 18; BACKGROUND-COLOR: #ffffff\">Suchen</button></FORM></td></tr></table>"; 
?>

<?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); 
$s=ereg_replace("ß", "%DF",$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] = "front_content.php?idart=".$db->f("idart").""; 
$results[$num][modifytime] = date("H:i",strtotime($db->f("created")));
$results[$num][modifydate] = date("d.m.y",strtotime($db->f("created")));

$class_article = new Article($db->f("idart"), $client, $lang); 
$results[$num][headline] = $class_article->getContent("htmlhead", 1);
$results[$num][headline2] = $class_article->getContent("htmlhead", 2);
$results[$num][image_id] = $class_article->getContent("img", 1);



for($x=0;$x<count($suchliste);$x++)
{ 
$treffer[$num] += substr_count(strtolower(urldecode($db->f("title"))), $suchliste[$x]) + 
substr_count(strtolower(urldecode($db->f("comment"))), $suchliste[$x]) + 
substr_count(strtolower(urldecode($db->f("content"))), $suchliste[$x]);
}; 
}; 
    
if(count($treffer) > 0){ 
$treffer = array_values($treffer); 
$results = array_values($results); 
array_multisort ($results, SORT_DESC, SORT_NUMERIC, $treffer, SORT_DESC, SORT_NUMERIC); 
for ($i=0; $i<count($treffer); $i++){



echo "<tr><td align=left><font size=\"-1\"><a href=\"".$results[$i][link]."\" class='text'>"; 
echo "<img src=\"http://www.motornews.at/cms/upload/bilder/$image \" border=0> ".$results[$i][image_id]." - ".$results[$i][headline]." - ".$results[$i][headline2]."</a></font>".$results[$i][modifydate]." ".$results[$i][modifytime]."<BR></td></tr>"; 

}; 
} else { echo "<tr><td class='text' align=center>Keine passenden Seiten gefunden</td></tr>"; }; 
} else { echo "<tr><td class='text' align=center>Keine passenden Seiten gefunden</td></tr>"; }; 
}; 
echo "</table>"; 
?>
Das Leben besteht aus Nullen und Einsen!

maramausi
Beiträge: 10
Registriert: Mi 4. Apr 2007, 16:43
Kontaktdaten:

Beitrag von maramausi » Mi 11. Apr 2007, 10:23

hallo, ich bin totaler Neuling und suche eine Suchfunktion, und bin über diese hier gestolpert. Nur leider klappt das noch nicht wie es soll.. habe die jeweiligen Codes in die Module "Sucheingabe" und "Suchausgabe" geschrieben. Jetzt komme ich aber nicht weiter, was ist der nächste Schritt den ich machen muss, damit das ganze auch funktioniert? Welche idcat muss ich denn nehmen? Muss ich erst einen Artikel dafür erstellen, und was soll dadrin stehen? Und in welche Container muss das ganze rein?
:?: :?:
Ich hoffe ihr könnt mir da vielleicht helfen, auch wenn das schon etwas älter ist ;)

maramausi
Beiträge: 10
Registriert: Mi 4. Apr 2007, 16:43
Kontaktdaten:

Beitrag von maramausi » Mi 11. Apr 2007, 15:31

hat sich schon erledigt, hatte vergessen nen container fürs suchtemplate anzulegen! jetzt klappt alles :)

Gesperrt