Ihre Suche nach 'gummibärchen' hat 2 Treffer ergebe

rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Ihre Suche nach 'gummibärchen' hat 2 Treffer ergebe

Beitrag von rezeptionist » So 27. Nov 2005, 22:38

Hallo miteinander
ich denke der Titel sagt alles, bei der suche nach gummibärchen bekam ich das folgende Suchergebniss:
Ihre Suche nach 'gummibärchen' hat 2 Treffer ergeben
lecker habe das original suchmodul aus der 4.6.2 unmodifiziert ansonsten läufts nur mit dieser Suchausgabe kann und will ich mich nicht zufriedengeben. Habe schon gesucht aber nichts passendes gefunden.

Wer weiss Rat ???

greets
greets

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

Beitrag von Halchteranerin » So 27. Nov 2005, 23:10

hmm, guck dir mal bitte die anderen Threads zur Suche an. Ich bin der Meinung, dass dieses Umlaut-Problem schon mal angesprochen wurde, weiss jedoch nicht mehr, ob es auch eine Loesung gab. Ich kenne das Modul nicht, aber wahrscheinlich musst du ein html_entity_decode ueber die Ausgabe laufen lassen. S. auch:
http://de.php.net/manual/de/function.ht ... decode.php
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!

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

Beitrag von Halchteranerin » So 27. Nov 2005, 23:18

Dazu gibt's hier aber auch noch etwas:
http://www.contenido.org/forum/viewtopi ... titydecode
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!

rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist » So 27. Nov 2005, 23:27

Danke

dein erster link war es habe gegoogelt und diesen thread entdeckt und siehe der letzte post war es. Nun gehts . Danke auch an mvf der dort ne oneman show veranstaltet hatte grins.

Ist das eigentlich ein bug ??? oder anders gesagt normal ist das ja nicht grins

greets
greets

jwulfes
Beiträge: 60
Registriert: Mo 8. Sep 2003, 20:35
Kontaktdaten:

Beitrag von jwulfes » Fr 2. Dez 2005, 14:09

rezeptionist hat geschrieben:Danke

dein erster link war es habe gegoogelt und diesen thread entdeckt und siehe der letzte post war es. Nun gehts . Danke auch an mvf der dort ne oneman show veranstaltet hatte grins.

Ist das eigentlich ein bug ??? oder anders gesagt normal ist das ja nicht grins

greets
Hallo!

Ich habe dieses Problem auch (haben wohl alle) aber ich bin nicht ganz schlau raus geworden was ihr jetzt gemacht habt - stecke da noch nicht so tief drin.

Könntet Ihr das, was Ihr geändert habt, bitte für "Dummies" :oops: noch mal genau aufschreiben oder den Quelltext posten oder so?!

Danke!!!!!!!!!!!!!!!!!! :lol:

Gruß
Jörg

rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist » Fr 2. Dez 2005, 14:12

gute frage lach ne ich denke ich bekomme es noch zusammen habe das hier im suchausgabe modul output verändert

Code: Alles auswählen

#Get search term and pre-process it
if (isset ($_GET['searchterm'])) {
	$searchterm = urldecode(strip_tags(htmlentities(stripslashes($_GET['searchterm']))));
}
elseif (isset ($_POST['searchterm'])) {
	$searchterm = urldecode(strip_tags(htmlentities(stripslashes($_POST['searchterm']))));
}
hoffe das es das war ansonsten habe ich hier den kompletten code der suchausgabe


Code: Alles auswählen

<?php
/***********************************************
* Suchausgabe Output
*
* Author      :     Willi Man
* Copyright   :     four for business AG
* Created     :     05-04-2004
* Modified    :     12-07-2005, Andreas Lindner
************************************************/

#System properties in use:
#Type: searchrange, Name: include
#Contains comma-separated list of cats to be included into search (sub-cats are included automatically)

#Logical combination of search terms with AND or OR

#Includes
cInclude('classes', 'class.search.php');
cInclude('classes', 'class.artspec.php');
cInclude('classes', 'class.template.php');
cInclude('includes', 'functions.api.string.php');
cInclude("frontend", "includes/functions.navigation.php");
cInclude('classes', 'class.article.php');

#Initiliaze template object
if (!is_object($tpl)) {
	$tpl = new Template;
}
$tpl->reset();

#Settings
$oArticleProp = new Article_Property(& $db, & $cfg);
$iArtspecReference = 2;

$cApiClient = new cApiClient($client);
$sSearchRange = $cApiClient->getProperty('searchrange', 'include');
$aSearchRange = explode(',', $sSearchRange);

#Multilingual settings
$sYourSearchFor = mi18n("Ihre Suche nach");
$sMore = mi18n("weiter");

#Get search term and pre-process it
if (isset ($_GET['searchterm'])) {
	$searchterm = urldecode(strip_tags(htmlentities(stripslashes($_GET['searchterm']))));
}
elseif (isset ($_POST['searchterm'])) {
	$searchterm = urldecode(strip_tags(htmlentities(stripslashes($_POST['searchterm']))));
}
$searchterm = str_replace(' + ', ' AND ', $searchterm);
$searchterm = str_replace(' - ', ' NOT ', $searchterm);
$searchterm_display = $searchterm;

#Get all article specs
$sql = "SELECT
		idartspec, artspec
	FROM
		".$cfg['tab']['art_spec']."
	WHERE
		client=$client AND
		lang=$lang AND
		online=1";

$db->query($sql);
$rows = $db->num_rows();
$aArtspecOnline = array ();
$aArtSpecs = array ();
$c = 1;
$d = 1;
$e = 1;
while ($db->next_record()) {
	$aArtSpecs[] = $db->f('idartspec');
}
$aArtSpecs[] = 0;

$action = $sess->url('front_content.php');

if (strlen(trim($searchterm)) > 0) {

	#Parse search term and set search options
	$searchterm = html_entity_decode($searchterm);

	if (stristr($searchterm, ' or ') === FALSE) {
		$combine = 'and';
	} else {
		$combine = 'or';
	}
	$searchterm = str_replace(' and ', ' ', strtolower($searchterm));
	$searchterm = str_replace(' or ', ' ', strtolower($searchterm));

		$options = array ('db' => 'regexp', // use db function regexp
		'combine' => $combine, // combine searchterms with and
		'exclude' => false, // => searchrange specified in 'cat_tree', 'categories' and 'articles' is excluded, otherwise included (exclusive)
		'cat_tree' => $aSearchRange, // searchrange 
		'artspecs' => $aArtSpecs, // array of article specifications => search only articles with these artspecs
	'protected' => true); // => do not search articles or articles in categories which are offline or protected

	$search = new Search($options);

	$cms_options = array ("head", "html", "htmlhead", "htmltext", "text"); // search only in these cms-types
	$search->setCmsOptions($cms_options);

	#Execute search
	$aSearchResults = $search->searchIndex($searchterm, ''); 

	#Build results page
	if (count($aSearchResults) > 0) {
		$tpl->set('s', 'result_page', mi18n("Ergebnis-Seite").':');

		#Build meessage
		$message = $sYourSearchFor." '".$searchterm_display."' ".mi18n("hat $$$ Treffer ergeben").":";
		$message = str_replace('$$$', count($aSearchResults), $message);
		$tpl->set('s', 'MESSAGE', $message);

		#Number of results per page
		$number_of_results = 10;
		$oSearchResults = new SearchResult($aSearchResults, $number_of_results);

		$num_res = $oSearchResults->getNumberOfResults() + $pdf_count;
		$num_pages = $oSearchResults->getNumberOfPages();
		$oSearchResults->setReplacement('<strong>', '</strong>'); // html-tags to emphasize the located searchterms

		#Get current result page
		if (isset ($_GET['page']) AND is_numeric($_GET['page']) AND $_GET['page'] > 0) {
			$page = $_GET['page'];
			$res_page = $oSearchResults->getSearchResultPage($page);
		} else {
			$page = 1;
			$res_page = $oSearchResults->getSearchResultPage($page);
		}

		#Build links to other result pages
		for ($i = 1; $i <= $num_pages; $i ++) {
			$nextlink = $sess->url('front_content.php?idcat='.$idcat.'&idart='.$idart.'&searchterm='.$searchterm_display.'&page='.$i.$sArtSpecs);
			if ($i == $page) {
				$nextlinks .= '<nobr>&nbsp<strong>'.$i.'</strong>&nbsp;</nobr>';
			} else {
				$nextlinks .= '<nobr>&nbsp;<a href="'.$nextlink.'" title="'.$i.'. '.mi18n("Ergebnisseite anzeigen").'">'.$i.'</a>&nbsp;</nobr>';
			}
		}
		$tpl->set('s', 'PAGES', $nextlinks);

		#Build link to next result page
		if ($page < $num_pages) {
			$n = $page +1;
			$next = $sess->url('front_content.php?idcat='.$idcat.'&idart='.$idart.'&searchterm='.$searchterm.'&page='.$n.$sArtSpecs);
			$nextpage .= '&nbsp;<a href="'.$next.'" title="'.mi18n("nächste Ergebnisseite anzeigen").'">'.mi18n("vor").' ></a>';
			$tpl->set('s', 'NEXT', $nextpage);
		} else {
			$tpl->set('s', 'NEXT', '');
		}

		#Build link to previous result page
		if ($page > 1) {
			$p = $page -1;
			//$pre = $sess->url('index-c-'.$idcat.'-'.$p.'-0.html');
			$pre = $sess->url('front_content.php?idcat='.$idcat.'&idart='.$idart.'&searchterm='.$searchterm.'&page='.$p.$sArtSpecs);
			$prevpage .= '<a href="'.$pre.'" title="'.mi18n("vorherige Ergebnisseite anzeigen").'">< '.mi18n("zurück").'</a>&nbsp;';
			$tpl->set('s', 'PREV', $prevpage);
		} else {
			$tpl->set('s', 'PREV', '');
		}

		if (count($res_page) > 0) {
			$i = 1;
			#Build single search result on result page
			foreach ($res_page as $key => $val) {
				$num = $i + (($page -1) * $number_of_results);
				$oArt = new Article($key, $client, $lang);
				#Get publishing date of article
				$pub_system = $oArt->getField('published');
				$pub_user = trim(strip_tags($oArt->getContent('HEAD', 90)));
				if ($pub_user != '') {
					$show_pub_date = "[".$pub_user."]";
				} else {
					$show_pub_date = '';
					if ($pub_system[8] != '0') {
						$show_pub_date .= $pub_system[8];
					}
					$show_pub_date .= $pub_system[9].'.';
					if ($pub_system[5] != '0') {
						$show_pub_date .= $pub_system[5];
					}
					$show_pub_date .= $pub_system[6].".".$pub_system[0].$pub_system[1].$pub_system[2].$pub_system[3]."]";
					$show_pub_date = "[".$show_pub_date;
				}
			
				#Get text and headline of current article
				$iCurrentArtSpec = $oArticleProp->getArticleSpecification($key, $lang);
				$aHeadline = $oSearchResults->getSearchContent($key, 'HTMLHEAD', 1);
				$aSubheadline = $oSearchResults->getSearchContent($key, 'HTMLHEAD', 2);
				$text = $oSearchResults->getSearchContent($key, 'HTML', 1);
				$text = capiStrTrimAfterWord($text[0], 200);
				$headline = capiStrTrimAfterWord($aHeadline[0], 200); # conflict with capiStrTrimAfterWord and setReplacement('<strong>', '</strong>')
				$subheadline = capiStrTrimAfterWord($aSubheadline[0], 200);

				$cat_id = $oSearchResults->getArtCat($key);
				$sCatName = getCategoryName($cat_id, & $db);
				$similarity = $oSearchResults->getSimilarity($key);

				ob_start();
				printf("%.0f", $similarity);
				$similarity = ob_get_contents();
				ob_end_clean();

				#Send output to template
				$href = $sess->url("front_content.php?idcat=$cat_id&idart=$key");
				$tpl->set('d', 'more', $sMore);
				$tpl->set('d', 'HREF', $href);
				$tpl->set('d', 'TITLE', mi18n("Link zu Suchergebnis").' '.$i);
				$tpl->set('d', 'NUM', $num);
				$tpl->set('d', 'CATNAME', $headline);
				$tpl->set('d', 'HEADLINE', $text);
				$tpl->set('d', 'SUBHEADLINE', $subheadline);
				$tpl->set('d', 'SIMILARITY', $similarity);
				$tpl->set('d', 'TARGET', '_self');
				$tpl->set('d', 'PUB_DATE', $show_pub_date);
				$tpl->next();
				$i ++;

			}
			$tpl->generate('templates/suchausgabe.html');
		}
	} else {
		#No results
		$tpl->set('s', 'MESSAGE', $sYourSearchFor." '".$searchterm."' ".mi18n("hat leider keine Treffer ergeben").".");
		$tpl->set('s', 'NEXT', '');
		$tpl->set('s', 'PREV', '');
		$tpl->set('s', 'PAGES', '');
		$tpl->set('s', 'result_page', '');
		$tpl->generate('templates/suchausgabe.html');
	}

}

class Article_Property {
	var $globalConfig;
	var $oDBInstance;

	/**
	 * Constructor
	 * Hint: Call constructor with Article_Property(&$db, &$cfg);
	 * @param  oDBInstance instance of class DB_Contenido
	 * @param  globalConfig 
	 */
	function Article_Property($oDBInstance, $globalConfig) {
		$this->globalConfig = $globalConfig;
		$this->oDBInstance = $oDBInstance;
	}

	/**
	 * Get specification of an article
	 * 
	 * @param  	$iArticleId
	 * @return  id of article specification 
	 */
	function getArticleSpecification($iArticleId, $iLangId) {

		$sqlString = "   
			  		SELECT 
		            	artspec
		            FROM 
		            	".$this->globalConfig['tab']['art_lang']."
		            WHERE
		            	idart = '".$iArticleId."' AND
						idlang = '".$iLangId."'
		            ";

		#echo "<pre>$sqlString</pre>";
		$this->oDBInstance->query($sqlString);

		if ($this->oDBInstance->next_record()) {
			return $this->oDBInstance->f('artspec');
		} else {
			return false;
		}
	}
}
?> 
greets
greets

jwulfes
Beiträge: 60
Registriert: Mo 8. Sep 2003, 20:35
Kontaktdaten:

Beitrag von jwulfes » Fr 2. Dez 2005, 14:15

Danke
:lol: !

Werde es heute Abend daheim gleich ausprobieren!!!

Gruß
Jörg

renasco
Beiträge: 44
Registriert: Mi 25. Jan 2006, 21:17
Kontaktdaten:

Beitrag von renasco » Mo 13. Feb 2006, 21:59

Jo leute ich hab heute einwenig nach Html Entities gesucht und dann bin ich darauf gestoßen genau das was ich gesucht habe.
Doch nachdem ich den kompleten code von rezeptionist eingeügt habe findet die Suche kaum was.

ich glaub das liegt daran, weil er nur die metatags durch sucht und nicht den inhalt. bitte hilft mir was kann ich machen.

Und mein altes Code ist auch weg ausversehen ersetzt :(

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mo 13. Feb 2006, 22:28

Und, schon mal in die Modul-History geguckt ? So mit Wiederherstellung und so...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

renasco
Beiträge: 44
Registriert: Mi 25. Jan 2006, 21:17
Kontaktdaten:

Beitrag von renasco » Mo 13. Feb 2006, 22:32

Ist nicht mehr nötig HerrB ich hab das schon geklärt:
hier kann jetzt auch sogar arabische buchstaben kodiert werden und er findet "alles" :) :

Code: Alles auswählen

<?php 
/*********************************************** 
* Suchausgabe Output 
* 
* Author      :     Willi Man 
* Copyright   :     four for business AG 
* Created     :     05-04-2004 
* Modified    :     12-07-2005, Andreas Lindner 
************************************************/ 

#System properties in use: 
#Type: searchrange, Name: include 
#Contains comma-separated list of cats to be included into search (sub-cats are included automatically) 

#Logical combination of search terms with AND or OR 

#Includes 
cInclude('classes', 'class.search.php'); 
cInclude('classes', 'class.artspec.php'); 
cInclude('classes', 'class.template.php'); 
cInclude('includes', 'functions.api.string.php'); 
cInclude("frontend", "includes/functions.navigation.php"); 
cInclude('classes', 'class.article.php'); 

#Initiliaze template object 
if (!is_object($tpl)) { 
   $tpl = new Template; 
} 
$tpl->reset(); 

#Settings 
$oArticleProp = new Article_Property(& $db, & $cfg); 
$iArtspecReference = 2; 

$cApiClient = new cApiClient($client); 
$sSearchRange = $cApiClient->getProperty('searchrange', 'include'); 
$aSearchRange = explode(',', $sSearchRange); 

#Multilingual settings 
$sYourSearchFor = mi18n("Ihre Suche nach"); 
$sMore = mi18n("weiter"); 

#Get search term and pre-process it 
if (isset ($_GET['searchterm'])) { 
   $searchterm = urldecode(strip_tags(html_entity_decode(stripslashes($_GET['searchterm'])))); 
} 
elseif (isset ($_POST['searchterm'])) { 
   $searchterm = urldecode(strip_tags(html_entity_decode(stripslashes($_POST['searchterm'])))); 
} 
$searchterm = str_replace(' + ', ' AND ', $searchterm); 
$searchterm = str_replace(' - ', ' NOT ', $searchterm); 
$searchterm_display = $searchterm; 

#Get all article specs 
$sql = "SELECT 
      idartspec, artspec 
   FROM 
      ".$cfg['tab']['art_spec']." 
   WHERE 
      client=$client AND 
      lang=$lang AND 
      online=1"; 

$db->query($sql); 
$rows = $db->num_rows(); 
$aArtspecOnline = array (); 
$aArtSpecs = array (); 
$c = 1; 
$d = 1; 
$e = 1; 
while ($db->next_record()) { 
   $aArtSpecs[] = $db->f('idartspec'); 
} 
$aArtSpecs[] = 0; 

$action = $sess->url('front_content.php'); 

if (strlen(trim($searchterm)) > 0) { 

   #Parse search term and set search options 
   $searchterm = html_entity_decode($searchterm); 

   if (stristr($searchterm, ' or ') === FALSE) { 
      $combine = 'and'; 
   } else { 
      $combine = 'or'; 
   } 
   $searchterm = str_replace(' and ', ' ', strtolower($searchterm)); 
   $searchterm = str_replace(' or ', ' ', strtolower($searchterm)); 

      $options = array ('db' => 'regexp', // use db function regexp 
      'combine' => $combine, // combine searchterms with and 
      'exclude' => true, // => searchrange specified in 'cat_tree', 'categories' and 'articles' is excluded, otherwise included (exclusive) 
      'cat_tree' => $aSearchRange, // searchrange 
      'artspecs' => $aArtSpecs, // array of article specifications => search only articles with these artspecs 
   'protected' => false); // => do not search articles or articles in categories which are offline or protected 

   $search = new Search($options); 

   $cms_options = array ("head", "html", "htmlhead", "htmltext", "text"); // search only in these cms-types 
   $search->setCmsOptions($cms_options); 

   #Execute search 
   $aSearchResults = $search->searchIndex($searchterm, ''); 

   #Build results page 
   if (count($aSearchResults) > 0) { 
      $tpl->set('s', 'result_page', mi18n("Ergebnis-Seite").':'); 

      #Build meessage 
      $message = $sYourSearchFor." '".$searchterm_display."' ".mi18n("hat $$$ Treffer ergeben").":"; 
      $message = str_replace('$$$', count($aSearchResults), $message); 
      $tpl->set('s', 'MESSAGE', $message); 

      #Number of results per page 
      $number_of_results = 10; 
      $oSearchResults = new SearchResult($aSearchResults, $number_of_results); 

      $num_res = $oSearchResults->getNumberOfResults() + $pdf_count; 
      $num_pages = $oSearchResults->getNumberOfPages(); 
      $oSearchResults->setReplacement('<strong>', '</strong>'); // html-tags to emphasize the located searchterms 

      #Get current result page 
      if (isset ($_GET['page']) AND is_numeric($_GET['page']) AND $_GET['page'] > 0) { 
         $page = $_GET['page']; 
         $res_page = $oSearchResults->getSearchResultPage($page); 
      } else { 
         $page = 1; 
         $res_page = $oSearchResults->getSearchResultPage($page); 
      } 

      #Build links to other result pages 
      for ($i = 1; $i <= $num_pages; $i ++) { 
         $nextlink = $sess->url('front_content.php?idcat='.$idcat.'&idart='.$idart.'&searchterm='.$searchterm_display.'&page='.$i.$sArtSpecs); 
         if ($i == $page) { 
            $nextlinks .= '<nobr>&nbsp<strong>'.$i.'</strong>&nbsp;</nobr>'; 
         } else { 
            $nextlinks .= '<nobr>&nbsp;<a href="'.$nextlink.'" title="'.$i.'. '.mi18n("Ergebnisseite anzeigen").'">'.$i.'</a>&nbsp;</nobr>'; 
         } 
      } 
      $tpl->set('s', 'PAGES', $nextlinks); 

      #Build link to next result page 
      if ($page < $num_pages) { 
         $n = $page +1; 
         $next = $sess->url('front_content.php?idcat='.$idcat.'&idart='.$idart.'&searchterm='.$searchterm.'&page='.$n.$sArtSpecs); 
         $nextpage .= '&nbsp;<a href="'.$next.'" title="'.mi18n("nächste Ergebnisseite anzeigen").'">'.mi18n("vor").' ></a>'; 
         $tpl->set('s', 'NEXT', $nextpage); 
      } else { 
         $tpl->set('s', 'NEXT', ''); 
      } 

      #Build link to previous result page 
      if ($page > 1) { 
         $p = $page -1; 
         //$pre = $sess->url('index-c-'.$idcat.'-'.$p.'-0.html'); 
         $pre = $sess->url('front_content.php?idcat='.$idcat.'&idart='.$idart.'&searchterm='.$searchterm.'&page='.$p.$sArtSpecs); 
         $prevpage .= '<a href="'.$pre.'" title="'.mi18n("vorherige Ergebnisseite anzeigen").'">< '.mi18n("zurück").'</a>&nbsp;'; 
         $tpl->set('s', 'PREV', $prevpage); 
      } else { 
         $tpl->set('s', 'PREV', ''); 
      } 

      if (count($res_page) > 0) { 
         $i = 1; 
         #Build single search result on result page 
         foreach ($res_page as $key => $val) { 
            $num = $i + (($page -1) * $number_of_results); 
            $oArt = new Article($key, $client, $lang); 
            #Get publishing date of article 
            $pub_system = $oArt->getField('published'); 
            $pub_user = trim(strip_tags($oArt->getContent('HEAD', 90))); 
            if ($pub_user != '') { 
               $show_pub_date = "[".$pub_user."]"; 
            } else { 
               $show_pub_date = ''; 
               if ($pub_system[8] != '0') { 
                  $show_pub_date .= $pub_system[8]; 
               } 
               $show_pub_date .= $pub_system[9].'.'; 
               if ($pub_system[5] != '0') { 
                  $show_pub_date .= $pub_system[5]; 
               } 
               $show_pub_date .= $pub_system[6].".".$pub_system[0].$pub_system[1].$pub_system[2].$pub_system[3]."]"; 
               $show_pub_date = "[".$show_pub_date; 
            } 
          
            #Get text and headline of current article 
            $iCurrentArtSpec = $oArticleProp->getArticleSpecification($key, $lang); 
            $aHeadline = $oSearchResults->getSearchContent($key, 'HTMLHEAD', 1); 
            $aSubheadline = $oSearchResults->getSearchContent($key, 'HTMLHEAD', 2); 
            $text = $oSearchResults->getSearchContent($key, 'HTML', 1); 
            $text = capiStrTrimAfterWord($text[0], 200); 
            $headline = capiStrTrimAfterWord($aHeadline[0], 200); # conflict with capiStrTrimAfterWord and setReplacement('<strong>', '</strong>') 
            $subheadline = capiStrTrimAfterWord($aSubheadline[0], 200); 

            $cat_id = $oSearchResults->getArtCat($key); 
            $sCatName = getCategoryName($cat_id, & $db); 
            $similarity = $oSearchResults->getSimilarity($key); 

            ob_start(); 
            printf("%.0f", $similarity); 
            $similarity = ob_get_contents(); 
            ob_end_clean(); 

            #Send output to template 
            $href = $sess->url("front_content.php?idcat=$cat_id&idart=$key"); 
            $tpl->set('d', 'more', $sMore); 
            $tpl->set('d', 'HREF', $href); 
            $tpl->set('d', 'TITLE', mi18n("Link zu Suchergebnis").' '.$i); 
            $tpl->set('d', 'NUM', $num); 
            $tpl->set('d', 'CATNAME', $headline); 
            $tpl->set('d', 'HEADLINE', $text); 
            $tpl->set('d', 'SUBHEADLINE', $subheadline); 
            $tpl->set('d', 'SIMILARITY', $similarity); 
            $tpl->set('d', 'TARGET', '_self'); 
            $tpl->set('d', 'PUB_DATE', $show_pub_date); 
            $tpl->next(); 
            $i ++; 

         } 
         $tpl->generate('templates/suchausgabe.html'); 
      } 
   } else { 
      #No results 
      $tpl->set('s', 'MESSAGE', $sYourSearchFor." '".$searchterm."' ".mi18n("hat leider keine Treffer ergeben")."."); 
      $tpl->set('s', 'NEXT', ''); 
      $tpl->set('s', 'PREV', ''); 
      $tpl->set('s', 'PAGES', ''); 
      $tpl->set('s', 'result_page', ''); 
      $tpl->generate('templates/suchausgabe.html'); 
   } 

} 

class Article_Property { 
   var $globalConfig; 
   var $oDBInstance; 

   /** 
    * Constructor 
    * Hint: Call constructor with Article_Property(&$db, &$cfg); 
    * @param  oDBInstance instance of class DB_Contenido 
    * @param  globalConfig 
    */ 
   function Article_Property($oDBInstance, $globalConfig) { 
      $this->globalConfig = $globalConfig; 
      $this->oDBInstance = $oDBInstance; 
   } 

   /** 
    * Get specification of an article 
    * 
    * @param     $iArticleId 
    * @return  id of article specification 
    */ 
   function getArticleSpecification($iArticleId, $iLangId) { 

      $sqlString = "    
                 SELECT 
                     artspec 
                  FROM 
                     ".$this->globalConfig['tab']['art_lang']." 
                  WHERE 
                     idart = '".$iArticleId."' AND 
                  idlang = '".$iLangId."' 
                  "; 

      #echo "<pre>$sqlString</pre>"; 
      $this->oDBInstance->query($sqlString); 

      if ($this->oDBInstance->next_record()) { 
         return $this->oDBInstance->f('artspec'); 
      } else { 
         return false; 
      } 
   } 
} 
?> 

silicone
Beiträge: 299
Registriert: Di 15. Mär 2005, 10:33
Kontaktdaten:

Beitrag von silicone » Fr 9. Feb 2007, 11:10

renasco hat geschrieben:hier kann jetzt auch sogar arabische buchstaben kodiert werden und er findet "alles" :)
Hallo, hast du das theoretisch gemeint oder selber ausprobiert?

Ich habe das gleiche Problem. Leider findet deine Variante bei mir praktisch garnichts. Muss ich etwas anders einstellen als bei der Standardsuche?

Gruß,
Thomas

meta02
Beiträge: 19
Registriert: Fr 6. Mai 2005, 16:23
Wohnort: Berlin
Kontaktdaten:

Beitrag von meta02 » Fr 9. Feb 2007, 17:45

Hallo,

ich habe alle Codes aus diesem Post mit der 4.6.15 ausprobiert und kann mich silicone nur anschließen.

Entweder es werden die Umlaute nicht dekodiert (Variante rezeptionist) oder das Suchmodul (Variante Renasco) findet gar nichts mehr.

Ich wäre ebenfalls sehr an einer Lösung interessiert.

Ich habe eine kyrillische Sprachversion und da gibt er dann den kompletten Suchterm als Entities aus. Sieht etwas unschön aus.

Vielen Dank für Eure Mithilfe

_Marc
Beiträge: 76
Registriert: Di 12. Sep 2006, 11:38
Kontaktdaten:

Beitrag von _Marc » Mi 14. Feb 2007, 22:02

Hallo,

nach diesem Teil:

Code: Alles auswählen

#Get search term and pre-process it
if (isset ($_GET['searchterm'])) {
	$searchterm = urldecode(strip_tags(htmlentities(stripslashes($_GET['searchterm']))));
}
elseif (isset ($_POST['searchterm'])) {
	$searchterm = urldecode(strip_tags(htmlentities(stripslashes($_POST['searchterm']))));
}
$searchterm = str_replace(' + ', ' AND ', $searchterm);
$searchterm = str_replace(' - ', ' NOT ', $searchterm);
das:
$searchterm_display = $searchterm;
durch das:
$searchterm_display = html_entity_decode($searchterm);
ersetzen.

silicone
Beiträge: 299
Registriert: Di 15. Mär 2005, 10:33
Kontaktdaten:

Beitrag von silicone » Mi 14. Feb 2007, 23:12

Hallo _Marc,

nach deiner Änderung findet die Suche leider immer noch keine griechischen Wörter...

Gruß,
Thomas

_Marc
Beiträge: 76
Registriert: Di 12. Sep 2006, 11:38
Kontaktdaten:

Beitrag von _Marc » Do 15. Feb 2007, 13:13

...aber gibt wenigstens keine enities mehr aus oder :wink:

Ich dachte es ging nur um die Ausgabe der Suchwörter, in die Engine hab ich ja gar nicht eingegriffen.
m.M. nach sind die Suchroutinen in der Klasse search gespeichert, keine Ahnung in wie fern dort kyrillische Zeichen berücksichtigt werden.

_Marc

Gesperrt