Neues Modul: Suma Tagged - Tag Clouds von Suchmaschinen

Begonnen von Webfan, 26 Juli 2008, 00:44:02

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Webfan

ZitatDiese Modifiaktion für PragmaMx generiert Suchtags für Deine Seite.
Du kannst die Suchtags voll automatisch(!) von den Suchmaschinen generieren lassen.
Suchmaschinen einstellbar über config.php des Modules (voreingestellt, yahoo, google, search.live).
Tag-Cloud Block inklusive.
http://www.webfan.de/Downloads-lid-Suma-Tagged-32.html

EDIT:
Demo: http://www.webfan.de/Tags.html

Webfan

Bitte Fragen und Fehler hier posten, damit ich sie für ein nächstes Update sammeln kann.
Damit es sich entsprechend lohnt soll die nächste Version frühstens nächstes WE rauskommen.

1. Wenn die Startseite getagged wird, fehlt der Titel (Tag-Link nicht mehr klickbar)
    Abhilfe:
     - Entweder home Modul über die config.php ausschliesse
     - in modules/Tags/index.php
                     echo '<a href="'.strip_tags($row['request_uri']).'">'.strip_tags($row['title']).'</a><br>';
        durch
               
              $str_title = $row['title'];
               if($str_title=='')$str_title = '-';
               echo '<a href="'.strip_tags($row['request_uri']).'">'.$str_title.'</a><br>';
     

       ersetzen.
2. search.live scheint nicht richtig zu funzen (bin mir da aber nicht sicher, einige Fehler haben sich nur als Bogus herausgestellt, weil das entspr. Modul exkludiert war), bitte testen?!

Das wars bis dahin..?!
mfg

Webfan

#2
3. Anführungszeichen und Pluszeichen, in track.php, nach
         $referer_query = str_replace($umlaute,$ersetzung,$referer_query);
      ergänzt:
        //1.0.3:
     $referer_query =  str_replace('%22', ' ', $referer_query);
     $referer_query =  str_replace('++', ' ', $referer_query);   
     $referer_query =  str_replace('%2B', ' ', $referer_query); 
     $referer_query =  str_replace('  ', ' ', $referer_query);


- Ergänzung: Wenn der angeforderte Link nicht mehr aktuell ist (Bsp. Link/Kleinanzeige nicht vorhanden):
      $query_string = mxAddSlashesForSQL(strip_tags($_SERVER['QUERY_STRING']));
          if(!empty($query_string) && $query_string != '')
           $request_uri = 'modules.php?'.$query_string;
                     
  $q = "DELETE FROM ".$prefix."_sumatagged_links
               WHERE
                  request_uri = '".$request_uri."'
                 ";
          sql_query($q);

      Löscht den Link aus der Suma-Tags Linktabelle.

   

Webfan

- Verweiste Keywords löschen (z.B. unter obigen Code anfügen, kann noch optimiert werden?!)
$q = "SELECT * FROM ".$prefix."_sumatagged_keywords";
         $result = sql_query($q);
         while($row = sql_fetch_array($result) )
           {
                 $q2 = "SELECT COUNT(*) FROM ".$prefix."_sumatagged_links
               WHERE
                 keyword = '".mxAddSlashesForSQL(strip_tags($row['keyword']))."'";
               $result2 = @mysql_query($q2);
               $found = @mysql_result($result2, 0);
               
               if($found < 1)
                {
                  $q3 =  "DELETE FROM ".$prefix."_sumatagged_keywords
                                WHERE
                                 keyword = '".mxAddSlashesForSQL(strip_tags($row['keyword']))."'";
                         sql_query($q3);
                }
           }



EDIT: Anmerkung: Die letzen beiden Codes sind Beispiele aus einer Kleinanzeige/Weblink nicht vorhanden Erweiterung und gehören nicht ins suma tagged Modul!

Webfan

Weil das Script so Kacke war  :red: und die Nachfrage wohl existiert muß ich Version 2 doch heute schon anbieten:
Zitat
Wegen der Nachfrage wurde das häßliche Script etwas repariert und Version 2 ist erschienen.

Zum Updaten Dateien überspielen und update_1_to_2.php im PMX Root ausführen

Changes:
- Url dekodieren gefixt
- trackdingens in Funktion gekapselt
- Keywords ohne zugehörige Links autom. löschen
- kleinere optische Änderungen

Download neue Version, Updatescript enthalten:
http://www.webfan.de/Downloads-lid-Suma-Tagged-32.html


Ria

Hallo Webfan,

wirklich genial, dass man sowas nicht mehr per Hand als Liste in einen html Block basteln muss, dies hatte ich später mal vor.

Wobei hier bei Dir natürlich der Suchmaschinen Vorteil noch mit eingebaut ist, super.

Aber einen Wermutstropfen sehe ich,
ich war auf Deiner Website und habe ganz unten in dem entsprechenden Block, auf ein Wort also Link geklickt.

Leider kommt man dann nicht sofort dahin und muss weiter herumklicken, irgendwie bin ich (vielleicht nur ich) dann etwas dessorientiert, wie es dann weiter geht, um dahin zu kommen.

Der Witz wäre doch der, der User klickt darauf und landet dann auch direkt da, passend zu dem Stichwort.

Ist nur mal eine Frage ?

Gruss Ria

Webfan

Hallo Ria,
es werden mitunter ja verschieden Seiten mit dem gleichen KEyword getagged, deshalb kommt wenn man auf ein Keyword klickt auf eine Auswahl mit entspr. Links.
mfg

SvenW

Hallo Webfan,

könnte man noch den Block "block-sumatags.php" valide bekommen? Ich vermute in der nachfolgenden Zeile werden durch den cutter die Fehler verursacht?

$kwd_str = mxCutString(strip_tags($row['keyword']),11, $add = "...", $cutter = " ");

Webfan

Patch 2 soll die störenden " entfernen (Sicherungskopie der DB Tabellen beachten!):
http://www.webfan.de/modules/Tags/Patch_2.zip

Hallo SvenW,
kannst Du mir helfen und den Fehler benennen? Habe den Block durchgeschaut und konnte nichts finden, bis auf schlimme Fehler durch die Anführungszeichen (siehe oben).
mfg

SvenW

Hi,

Tidy bemängelt bei mir den Schlusstag " </a> " ?

style="text-decoration:none;" rel="tag" title="retuschieren">retuschier...</a>&nbsp;<a href="modules.php?name=Tags&amp;op=tagged&amp;as=gesellschafter art.award 2008"


Result: 0 Fehler / 36 Warnungen

Info: Doctype given is "-//W3C//DTD XHTML 1.0 Transitional//EN"
Info: Document content looks like XHTML 1.0 Transitional
line 863 column 91 - Warnung: <a> escaping malformed URI reference
...usw.


SvenW

Ups :red:,

da hatte ich etwas zusätzlich mit dem Block verbockt. Von "validator.w3.org" wird mit dem org. Block alles passend angezeigt. Was bleibt sind nur noch ein paar Warnmeldungen von Tidy mit dem Schlusstag.

JoergK

Hoi ;)

Die Fehlermeldung "Warnung: <a> escaping malformed URI reference ..." bedeutet, dass die angegebene URL nicht zulässige Zeichen enthält, z.B. Leerzeichen:

Zitat<a href="h..p://www.mozilla.org/one space.html">space</a>

Richtig wäre
Zitat<a href="h..p://www.mozilla.org/one%20space.html">space</a>
oder
Zitat<a href="h..p://www.mozilla.org/one+space.html">space</a>

Zur Vermeidung der Ausgabe von nicht zulässigen Zeichen sollte die PHP-Funktion urlencode() eingesetzt werden. ;)
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

Webfan


SvenW

ZitatChanges:
- Code etwas bereinigt


:thumbup:

Result: 0 Fehler / 0 Warnungen

breakdancer

Hi,

ja, Top, auch von mir ein dickes Danke schön !  :drinks: Ich geb einen aus !

Was ich nicht ganz verstehe, seit dem Update auf Version drei bekomme ich über einem Block oberhalb des Suma-Tags-Block eine Menge Notices und Meldungen angezeigt, die vorher nicht da waren. Die Meldungen beziehen sich nicht auf den Suma-Tags-Block.

Seltsam, seltsam... Debug-Modus ist natürlich aus, trotzdem werden die Meldungen angezeigt...

Na ja, dann werde ich die Fehler im Block mal beseitigen. Sind zwanzig oder dreissig Variablen nachzudefinieren. Grausam, aber warum nicht...

Liebe Grüße

Markus

Webfan

Du kannst in track.php (oder wo Du das sonst noch findest)
if(MX_IS_ADMIN)
error_reporting(E_ALL);

löschen/auskommentieren, bzw. ersetzen durch
if(MX_IS_ADMIN && $GLOBALS['mxDebugService']==1)
error_reporting(E_ALL);

um die Meldungen zu unterdrücken.
mfg

Edit:
Noch eine Anmerkung:
  include_once('modules/Tags/footer_tags.php');
habe ich bei mir in der footer.php nach themefooter();, ggf. muß jeder für sich da die beste Stelle suchen.

breakdancer

 :thumbup: Hab´s im gleichen Moment entdeckt, wo Du den Beitrag geschrieben hast...  ;)

Die Lösung hätte ich aber so net hinbekommen... :-) Vielen Dank !

Die Meldungen sind weg.

Liebe Grüße

Markus

SvenW

hallo,

nun habe ich noch zwei fragen...

1.

wird da im php code alles in kleinbuchstaben formatiert und wo kann mann oder frau das ändern?

2.

und könnte man verhindern, dass nur einzelne buchstaben angezeigt werden? lässt sich da ein filter im block einbauen, dass diese nicht angezeigt werden? schaut im block ein bisschen blöde aus?

Webfan

1. Ja es wird alles in Kleinbuchstaben formattiert.
    Um das zu ändern(*) suche in track.php
            $this->referer = strip_tags(strtolower(urldecode($referer)));
    ersetze durch
                   $this->referer = strip_tags(urldecode($referer));
  (*) Ich rate davon ab das zu tun, da sonst BeiSpieL zum Beispiel ein anderes keyword ist als zum Beispiel beisPiel, und dann jeweils in beiden (opder mehreren) Schreibweisen in die DB gespeichert werden würde, gefunden wird dann aber nur jeweils die entspr. Links die der entspr. Schreibweise zugeordnet sind.
Aber das mußt Du wissen...

2. Ja, da hast Du recht!
Um die Tags weniger 3 Buchstaben im Block nicht anzuzeigen (3 ist Beispiel, entspr. anpassen):
ersetze im Block:
         $content .= '<a href="modules.php?name=Tags&amp;op=tagged&amp;as='.strip_tags($row['keyword']).'"
          style="text-decoration:none;font-size:'.$f_size.'px;" rel="tag" title="'.strip_tags($row['keyword']).'">'.$kwd_str.'</a>&nbsp;';

durch

if(strlen($kwd_str) > 2 )       $content .= '<a href="modules.php?name=Tags&amp;op=tagged&amp;as='.strip_tags($row['keyword']).'"
          style="text-decoration:none;font-size:'.$f_size.'px;" rel="tag" title="'.strip_tags($row['keyword']).'">'.$kwd_str.'</a>&nbsp;';


Entsprechend um die Wörter < 3 Buchstaben gar nicht erst zu speichern
in track.php suche:
foreach($this->keywords as $key => $keyword_)
{

darunter anfügen:
if(strlen($keyword_) < 3)$keyword_ ='';

mfg