modul: anhand keywords passenden (vergleichbaren) art. finde

Gesperrt
master111
Beiträge: 43
Registriert: Fr 10. Sep 2004, 11:37
Wohnort: München
Kontaktdaten:

modul: anhand keywords passenden (vergleichbaren) art. finde

Beitrag von master111 » Do 20. Jan 2005, 23:24

hallo tüftler,

ich habe ein modul gefunden, das keywords auslesen und in sortiert in eine liste schreiben kann.

nun bräuchtenwir aber ein modul, dass

1) die keywords ausliest (alle und die des aktuellen artikels)
2) nach häufigkeit sortiert
3) die 5 besten möglichkeiten in form auf des zu verweisenden artikels anhand deren überschriften auflistet.

klar geworden? soll einfach in einen artikel über äpfel auf ähnliche artikel verweisen. - bringt sicher nicht nur uns was!!!!

besten dank
DoMi


Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Stichwortindex
* Author          :     Michael Gautschi
* Copyright     :     Michael Gautschi
* Created     :     15.1.04
* Modified    :  
* Version     : 0.1   
************************************************/
// Zuerst herausfinden welcher Metatype "Keywords" sind; normalerweise 5

$sql = "SELECT * FROM ".$cfg["tab"]["meta_type"] . " AS A WHERE A.metatype=\"keywords\"";
$db->query($sql);
if ($db->num_rows()==0) {
   echo "Konnte nicht bestimmen welche Metatags keywords sind";
   }
 else { 
  $db->next_record(); 
  $keywordid=$db->f("idmetatype");

  $sql = "SELECT metavalue,ARTLANG.idlang,ARTLANG.title,ARTLANG.idart,CATART.idcat FROM ".
               $cfg["tab"]["meta_tag"]. " AS META,".
               $cfg["tab"]["art_lang"]. " AS ARTLANG,".
               $cfg["tab"]["cat_art"]. " AS CATART 
               WHERE META.idmetatype = $keywordid
               AND     META.idartlang = ARTLANG.idartlang
               AND     ARTLANG.idart = CATART.idart
               AND     metavalue<>\"\"";

  $db->query($sql);
  if ($db->num_rows() != 0) {
     $entries=array();
     for ($i=0; $i<$db->num_rows(); $i++) {
       $db->next_record();
       $metavalues=$db->f("metavalue");
       $idart=$db->f("idart");
       $idcat=$db->f("idcat");
       $title=$db->f("title");
       $tmp_keywords=split(",",$metavalues);
       foreach ($tmp_keywords as $tmp_keyword) {
         $tmp_keyword=trim($tmp_keyword);
         $entry["idart"]=$idart;
         $entry["idcat"]=$idcat;
         $entry["title"]=$title;
         if ( !(array_key_exists($tmp_keyword,$entries)))  $entries[$tmp_keyword]=array();
         array_push($entries["$tmp_keyword"],$entry);
         }     
       }
     ksort($entries);
     foreach($entries as $keyword=>$items) {
       echo "$keyword<ul>";
       foreach ($items as $item) {
          $navmod_link ="front_content.php?client=$client&lang=$lang&idcat=". $item["idcat"] . "&idart=" . $item["idart"];
          echo ' <li><a href="'.$sess->url("$navmod_link").'" id="font">'.$item["title"].'</a><br> ';
          }
       echo "</ul>";
       }  
     }
   else {
     echo "keine Stichworte gefunden";
     }
  }
?>
Jetzt mit contenido - und jeden Tag besser:
http://www.malteser-graefelfing.de

imu
Beiträge: 26
Registriert: Fr 24. Dez 2004, 22:06
Kontaktdaten:

Beitrag von imu » Fr 21. Jan 2005, 00:37

meinst du

Es gibt einen Artikel, der hat eins, zwei, drei, viele Keywords. Anhand dieser Keywords sucht das Modul Artikel, die die gleichen Keywords haben und listet diese auf (jeweils Headline 1 als Link).
Und das Ganze als Top5 - Liste.

... Und das Modul soll nur in den Keywords der anderen Artikel suchen, nicht in Überschriften undTexten?

master111
Beiträge: 43
Registriert: Fr 10. Sep 2004, 11:37
Wohnort: München
Kontaktdaten:

Beitrag von master111 » Fr 21. Jan 2005, 00:44

genau! :-)

läßt sich sowas machen?

Besten Dank!!
DoMi
Jetzt mit contenido - und jeden Tag besser:
http://www.malteser-graefelfing.de

imu
Beiträge: 26
Registriert: Fr 24. Dez 2004, 22:06
Kontaktdaten:

Top5

Beitrag von imu » Fr 21. Jan 2005, 01:11

Hi, ich habe dir eine Nachricht geschrieben. Ich brauche da doch einige Infos ...

Gesperrt