Ähnliche Artikel und Freetag

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
Webster206
Regular
Posts: 114
Joined: Sat Mar 11, 2006 2:05 am
Contact:

Ähnliche Artikel und Freetag

Post by Webster206 »

Hallo zusammen,

ist es irgendwie möglich, beim Freetag Plugin auswählen zu können, mit welchen Tags nach ähnlichen Artikeln gesucht werden soll? Manchmal habe ich ein breites Spektrum an Tags in meinen Artikeln und die Vorschläge haben oftmals absolut nichts mit dem Thema des Artikels zu tun. Da wäre es praktisch, wenn ich beim Artikel schreiben vielleicht schon angeben könnte, welche der Tags benutzt werden sollen, um ähnliche Artikel anzuzeigen.

Beispiel: Ich habe einen Text und die Tags fragen, internet, blog, weil ich darin eben dieses Thema behandle. Vorgeschlagen wird als ähnlicher Artikel dann ein Artikel über einen Film, bei dem ich ebenfalls eine Frage stellte und das Tag frage nutzte. Aber das Thema Internet und Blogs hat nun leider nichts mit Filmen zu tun, sondern nur dummerweise das geliche Tag, weil in beiden etwas gefragt wurde. Praktisch wäre nun, das Tag "fragen" einfach ausklammern zu können

So etwas ist vermutlich für mich als Laien erst mal nicht zu machen, deshalb frage ich einfach mal in die Runde, ob ein solches Feature sinnvoll ist und vielleicht dem Plugin hinzu gefügt werden könnte.
schräge Welt, schräge Sicht - www.allesroger.net
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Ähnliche Artikel und Freetag

Post by garvinhicking »

Hi!

Leider geht das nicht ohne tief in die SQL-Abfrage des Plugins einzugreifen. Mir würde da jetzt auch interfacetechnisch nichts einfallen wie man das lösen könnte?

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Webster206
Regular
Posts: 114
Joined: Sat Mar 11, 2006 2:05 am
Contact:

Post by Webster206 »

Ich ahnte, dass hier mehr programmiertechnisches Wissen vonnöten ist.

Interfacetechnisch könnte ich es mir ähnlich vorstellen wie bei den Meta Tags Angaben die man jedem Artikel vergeben kann. So könnte man beim Erstellen des Artikel, wenn man die Tags vergibt, vielleicht einfach noch eine Zeile einbauen, wo Vergleichsrelevante Tags angegeben werden.

Um bei meinem Beispiel zu bleiben: Dort würde ich nur das Tag "blog" angeben, damit wirklich nur Blog-ähnliche Artikel vorgeschlagen werden.
schräge Welt, schräge Sicht - www.allesroger.net
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Hm, ne neue Box fände ich etwas unhübsch. Wie wäre es, wenn Du Tags die nicht aufgenommen werden mit einem "*" am Ende markierst? Dann könntest Du die Tags so eingeben:

Bla,Blub,Wurst*,Blog*,Bärg

Und für die Verwandten Tags würde dann nur Bla,Blub und Bärg genommen werden. Müsste man im Plugin irgendwo dokumentieren, aber dann wär's evtl. halbwegs komfortabel?

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Tja, wäre zwar ne gute Idee, ist aber nicht wirklich umsetzbar, da es im Code zu viele Stellen gibt wo die Tags ausgelesen werden. Man müsste dann an jeder Stelle im Code das "*" aus dem Tag rausnehmen um es darzustellen. Das ist zum einen zu viel Aufwand und zum anderen nimmt es zu viel Performance, das dann auch langsamer werden würde für leute, die die verwandten Tags garnicht einschränken wollen.

Eine zweite Eingabebox ist komplex, weil dafür eine weitere Datenbanktabelle geschrieben werden müsste. Das ist leider alles andere als unaufwändig umzusetzen.

Gibt es in deinem Fall evtl. fixe Tags die Du rausnehmen magst? Du könntest mit relativ geringem Aufwand das plugin für dich individuell ändern, indem Du die Funktion

Code: Select all

    function getRelatedEntries($tags, $postID) {
        global $serendipity;

        if (!is_array($tags)) {
            return false;
        }

        $q = "SELECT DISTINCT e1.entryid,
                     e2.title,
                     e2.timestamp
                FROM {$serendipity['dbPrefix']}entrytags AS e1
           LEFT JOIN {$serendipity['dbPrefix']}entries   AS e2
                  ON e1.entryid = e2.id
               WHERE e1.tag IN ('" . implode("', '", $tags) . "')
                 AND e1.entryid != " . (int)$postID . "
                 AND e2.isdraft = 'false'
                     " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND e2.timestamp <= " . time() : '') . "
            ORDER BY  e2.timestamp DESC
               LIMIT " . $this->get_config('show_related_count', 10);

        $result = serendipity_db_query($q, false, 'assoc', false, 'entryid', 'title');

        if (!is_array($result)) {
            return false;
        }

        return $result;
    }
im Plugin umschreibst. $tags enthält die Liste der verwandten Tags, dort könntest Du in einer Schleife vorher beispielsweise einige Tags hart entfernen:

Code: Select all

foreach($tags AS $i => $tag) {
  if ($tag == 'blog' OR $tag == 'Internet') {
    unset($tags[$i]);
  }
}
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Webster206
Regular
Posts: 114
Joined: Sat Mar 11, 2006 2:05 am
Contact:

Post by Webster206 »

Na das wäre natürlich eine noch bessere Idee. Dann könnte man schon gleich beim Vergeben der Tags entscheiden, welche Suchrelevant sein sollen und welche nicht. Und hätte somit viel gezieltere Vorschläge nach ähnlichen Themen.

Darauf gekommen bin ich übrigens, weil ich das Suchen nach ähnlichen Themen mit dem Tag Plugin viel komfortabler finde, als ähnliche Artikel immer manuell suchen und eintragen zu müssen. Nur die Relevanz ist mir beim dem Plugin eben noch zu breit gefächert.
schräge Welt, schräge Sicht - www.allesroger.net
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Bump, nur damit Du siehst, dass wir scheinbar zeitgleich gepostet haben, ich schrieb weiter oben, warum das mit den Tags* so nicht wirklich klappt.

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Webster206
Regular
Posts: 114
Joined: Sat Mar 11, 2006 2:05 am
Contact:

Post by Webster206 »

Oh. Schade, dass es offenbar doch komplexer ist, so etwas umzusetzen. Den Plugin Code möchte ich eigentlich eher nicht verändern, weil mir dafür die Kenntnisse fehlen und ich eher etwas kaputt mache. ;-)

Auch das "harte" entfernen von Tags mag mir nicht so recht gefallen, denn wenn es Tags gäbe, die ich niemals benutzen wollte (egal ob für den normalen Zweck oder für den Zweck um ähnliche Artikel zu finden) so würde ich sie auch einfach nicht benutzen. Das wäre in diesem Fall dann immer noch die einfachst Idee: Die Vergabe von Tags einschränken und etwas allgemeiner werden. Allerdings leidet darunter natürlich wieder der ganze Vorteil der Tags.

Schade, aber trotzdem danke.

Beste Grüße.
schräge Welt, schräge Sicht - www.allesroger.net
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Vielleicht hat ja jemand anders hier noch eine geschickte Idee dazu. Das doofe ist halt, dass wenn man ein "*" einfügt man zwar leicht filtern könnte, aber dann würde das "*" halt auch an anderen Stellen mit dem Tagnamen ausgegeben - das fände ich sehr unschön.

Das 'harte entfernen' würde ja übrigens nur die Ausgabe der "verwandten Artikel" betreffen. Die Tags würden sonst schon normal gelistet werden. So könntest du halt einige pauschale Tags immer von den verwandten Artikeln ausschließen. Wenn Du das konzeptionell machen könntest wäre es auch leicht in die Konfiguration des Plugins eine Eingabebox einzugeben wo man "für verwandte Artikel zu filternde Tags" eintragen kann. Dann müsstest du den Code des plugins garnicht anfassen.

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Post Reply