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

SvenW

Ich glaube nun hast du den urlencode vergessen bzw. den alten Block geändert? Wobei... wenn man es in der track.php ergänzt und die Tags löscht,  hat es sich auch erledigt.




Webfan

Upps  :red:
Soll natürlich oben so heißen:
if(strlen($kwd_str) > 2 ) $content .= '<a href="modules.php?name=Tags&amp;op=tagged&amp;as='.strip_tags(urlencode($row['keyword'])).'"
          style="text-decoration:none;font-size:'.$f_size.'px;" rel="tag" title="'.strip_tags($row['keyword']).'">'.$kwd_str.'</a>&nbsp;';


Zitatwenn man es in der track.php ergänzt und die Tags löscht,  hat es sich auch erledigt.
Sauber und richtig sollte wohl urlencode bei der Ausgabe von Urls angewendet werden, und urldecode entsprechend vor der Verarbeitung/Speicherung... ich hoffe ich hab das jetzt einigermaßen rictig  :hallucine:

SvenW

#22
Hallo,

sporadisch gehen die Tags auf der rechten Seite unter und sind nicht lesbar. Könnte man die Ausgabe mit einem div oder einer Tabelle umlegen? Auf deiner Seite wird beispielsweise das komplette Layout gesprengt...

EDIT

Das Gleiche beim Block? Hier wäre eine weitere Zwangsjacke zur Gestaltung hilfreich, wenn man beispielsweise größere Schriftarten wählt.

Webfan

Hallo SvenW,
ich bitte darum das Design jeweils selber den eigenen Wünschen anzupassen, ich bin froh wenn ich möglichst wenig Fehler verursache  ;)

Die Schriftgröße läßt sich im block und in der Modul index über
$f_size
anpassen. if($f_size < 9)$f_size = 9; z.B. 9=> mind. Größe if($f_size > 79)$f_size = 80; z.B. 80=>max Größe
Ähnlich wie mit $umbr_ im Block kannst du sicher im Modul auch die Tags umbrechen, per div oder so wie Du sagst noch besser.
Zitat
Auf deiner Seite wird beispielsweise das komplette Layout gesprengt...
Mh, ja danke für den Hinweis. Ich hab jetzt nicht so recht Muße mich damit zu befassen, vl. demnächst, vl. ist aber auch ein anderer mit einer Lösung schneller?
mfg

mr_puma

Zitat von: Webfan am 15 August 2008, 23:53:43
Zitat
Auf deiner Seite wird beispielsweise das komplette Layout gesprengt...
Mh, ja danke für den Hinweis. Ich hab jetzt nicht so recht Muße mich damit zu befassen, vl. demnächst, vl. ist aber auch ein anderer mit einer Lösung schneller?
mfg
das gleiche Problem habe ich auch. habe es versucht in eine tabelle einzubauen und diese tabelle eine feste größe zuzuweißen (table width="XXX"). klappt aber trotzdessen nicht und das design wird immernoch in die breite "gesprengt".
eine andere idee hab ich vorerst nicht. leider.

mr_puma

noch als ergänzung. habe den block als center-block eingebaut. ebenso aber in der datei center_block=TRUE gestellt. trotzdessen wird ab und an das design gesprengt. wie kann man abholfe schaffen?!

Webfan

Es kann die Umbruchvariablke genutzt werden,
             $umbr_++;
           if($centerblock_ ===FALSE && $umbr_ >2)
             {
              $content .='<br>';
              $umbr_ =0;
             }


$centerblock_ ===FALSE  kann aus der if Bedingung gelöscht werden, und umbr_ entspr. angepasst, sagen wir als beispiel maximal 20 Wörter in einer Zeile

$umbr_++;
if( $umbr_ >20)
             {
              $content .='<br>';
              $umbr_ =0;
             }


Das ganze läßt sich auch in die index.pöhp im Modul einfügen, z.B. vor
              echo '<a href="modules.php?name='.$module_name.'&amp;op=tagged&amp;as='.strip_tags(urlencode($row['keyword'])).'"
             style="text-decoration:none;font-size:'.$f_size.'px;" rel="tag" title="'.strip_tags($row['keyword']).'">'.$keyword.'</a>&nbsp;';
           }

dort aber statt $content .='<br>';  echo '<br';
mfg

Weiß nicht ob es was hilft...mußt Du mal testen!?  :gruebel:

SvenW

#27
Hi :puzzled:,

beim Block habe ich mich heute fusselig probiert eine dynamische Breite zu erreichen. Ich denke... da die Schriften und Wörter/Tags mit php formatiert sind, ist es gar nicht möglich das dynamisch mit einer div Umlegung zu gestalten. Ein Umbruch... kann immer erst nach den angegebenen Werten "$umbr_ =0;"  erfolgen.

Oder?

Brauche einen php Umbruch nach 220px!  :BD:  :bye2:


Webfan

ZitatBrauche einen php Umbruch nach 220px!
Ah.. Du könntest statt immer um 1 $umbr_ um die Schriftgrösse erhöhen, also statt $umbr_++;
$umbr_ = $umbr_ + $f_size;
Dazu muß natürlich der part der die Schriftgröße festlegt
            $f_size = intval($row['count_hits']);
            if($f_size < 8)$f_size = 9;
            if($f_size > 29)$f_size = 30;
nach oben vor $umb_ = verschoben werden.
Entsprechend mußt Du dann natürlich anpassen, was weiß ich z. B. 220:
if( $umbr_ >220)
ZitatEin Umbruch... kann immer erst nach den angegebenen Werten "$umbr_ =0;"  erfolgen.

Oder?
Ich weiß nicht ganz was Du meinst, Du mußt/solltest natürlich wenn Du den umbruch auch im Modul so verwenden möchtest $umbr_ vor der while Schleife nullen. Wenn der Umbruch erfolgt wird der Wert wieder genullt damit für den nächsten Umbruch von vorne gezählt werden kann.

mfg

SvenW

Schwere Geburt ... ;)
Weiter geht´s mit der Modulanzeige...


THANKS!  :bye:


mr_puma

puuhh..ich habs versucht. also das mit dme php-umbruch. nur leider hab ichs nich hinbekommen.
wo kommt denn "if( $umbr_ >220)" hin?

oder könnte vielleicht jemand den überarbeiteten Block mir schicken *liebguck*. das ding sprengt mir mein design und mit dem php-umbruch klappts nicht.
ebenso hab ichs mal mit dem, was du geschrieben hast, webfan, versucht. allerdings ist da das problem, das einige wörter größer sind und somit mehr platz brauchen und somit ebenso das design sprengen.

liebe grüße,
pete.

gerdc

#31
Hallo,

ein ähnliches Problem hatte ich bei meinem Theme. Die (meine) Lösung war eine sog. Kombi div-box. Eine Box in der Box. Die äussere Box erhält einen festen width-Wert (meist 100%), die innere ist varibel über padding und border. Innerhalb der inneren Box wird dann über style="overflow:hidden(none)" das Ausbrechen vermieden. Ich weiß jetzt nun nicht mehr, ob hidden oder none. Versuchs mal.

gerdc
GCW

mr_puma

Zitat von: gerdc am 19 August 2008, 16:37:41
Hallo,

ein ähnliches Problem hatte ich bei meinem Theme. Die (meine) Lösung war eine sog. Kombi div-box. Eine Box in der Box. Die äussere Box erhält einen festen width-Wert (meist 100%), die innere ist varibel über padding und border. Innerhalb der inneren Box wird dann über style="overflow:hidden(none)" das Ausbrechen vermieden. Ich weiß jetzt nun nicht mehr, ob hidden oder none. Versuchs mal.

gerdc
eine klasse idee  :thumbup: :thumbup:

damit hat es nämlich endlich geklappt. der befehl ist "hidden" gewesen.
http://de.selfhtml.org/css/eigenschaften/anzeige/overflow.htm

vielen dank  :drinks:

liebe grüße,
der pete.

gerdc

Hallo Pete,

bitte gern geschehen. Ich habe aber noch eine Idee. Wenn du das overflow einfach wegläßt, wohin soll denn der Tag? Die äußere Box ist doch die Grenze, oder? Vielleicht geschieht sogar ein Umbruch. Versuchs mal!

Gruß
gerdc
GCW

Webfan

Es gibt eine neue Version:
http://www.webfan.de/Downloads-lid-Suma-Tagged-v-4-38.html

Neue Funktionen:
- Das Löschen von Tags und Links ist nun möglich

Andi

an der Stelle geschlossen.  :BD:

Neues Problem >> neuer Thread
schön´s Grüssle, Andi