Textpattern plugin pro relevantní články

Textpattern plugin pro relevantní článkyŠtvalo mě, že v Textpatternu na konci textu článku pořádně nefunguje vypisování odkazů na relevantní dříve zveřejněné články ač jsem přepečlivě vyplňoval klíčová slova. Nelenil jsem tedy a vyhledal si plugin, který to dokáže lépe (pluginů pro Textpattern je mnoho, stačí jen najít si ten správný).

Sáhl jsem po pluginu vg_related_ar­ticles od Vincenta Groulse, konkrétně verzi 0.1 (teď koukám, že už tam je i nová verze 0.2).

Byl jsem s ním docela spokojen, až na to, že výsledný seznam nebyl vždy ideální – občas obsahoval zcela nerelevantní články, které nemohly obsahovat ani jedno shodné klíčové slovo s původním článkem a navíc se zobrazovaly i články, které teprve měly vyjít!

Dnes mě to už naštvalo a kouknul jsem se tomu pluginu na zoubek (přece jen PHP a SQL pro mě nejsou neznámé pojmy). Našel jsem několik docela podstatných chyb a odstranil je. Jednalo se o následující:

  • špatné uzávorkování v SQL dotazu (pokud byl článek ve dvou kategoriích, přidalo se k dotazu OR category2=XXX a tedy do výsledku se dostaly všechny články dané kategorie a to i ty nevydané!).
  • ještě před sestavením SQL dotazu se vytvořilo pole klíčových slov článku, které občas obsahovalo prázdný řetězec (nejspíše proto, že jsem na konci seznamu klíčových slov odřádkoval). Výsledná podmínka tedy nakonec mimo jiné obsahovala i OR Keywords LIKE „%%“, čemuž opět odpovídaly všechny články. A navíc mi to některá klíčová slova rozdělilo na dvě – nejspíše chyba v regulárním výrazu, protože jako rozdělovač to bralo písmeno „s“.

Navíc jsem změnil řazení výsledků (v původní verzi se řadí jen dle data vydání) tak, že na začátku budou články z první kategorie aktuálního článku a poté teprve z ostatních (+ samozřejmě řazení dle data vydání).

Pořadí (relevance) by se dalo upravit a vylepšit mnohem více – například použitím fulltextového vyhledávání nad MySQL, ale jednak by to bylo krapet složitější (změna struktury tabulek, fulltextový index) a jednak nevím, jak by to bylo pro server náročné.

Výsledek si můžete prohlédnout, stáhnout a používat dle vlastního uvážení: vg_related_ar­ticles_vac

Instalace

Díky Ivoriusovi jsem převedl plugin do klasické podoby, takže instalace je stejná jako u každého jiného pluginu. Předem upozorňuji, že plugin funguje pod Texpattern verze 1.0rc1, jak se to bude chovat pod novějšími nemám ověřeno. A propo, podívejte se také na Ivoriusův blog o TextPatternu, můžete tam najít pár zajímavých pluginů a aktualizovanou českou verzi Textpatternu.

Způsob používání

Je stejný jako u originálního pluginu. Ukázka, jak to vypadá na tomto weblogu – forma default/article:

<h3 class="section">Související články</h3>
<txp:vg_related_articles limit="10" break="li" wraptag="ul" />
</txp:vg_if_related_articles>

Nesmíte ale zapomenout vyplňovat pole klíčových slov (oddělených čárkou) pro jednotlivé články (u tohoto článku mám uvedené následující klíčová slova: textpattern, textpattern plugin, redakční systém, úprava blogu). Pokud objevíte chybu, dejte mi vědět.

Komentáře

Přidej komentář

Pište prosím slušně, s diakritikou a k věci. Dodržujte pravidla a využijte možnosti formátování uvedená pod formulářem.

Email nebude zveřejněn

Pravidla a možnosti formátování

  • Nepoužívejte HTML značky, blog podporuje formátování texy. Nový odstavec získáte 2x odřádkováním, odkaz: "text odkazu":odkaz, **tučně**, *kurzíva*
  • Adresy začínající na http:// budou automaticky převedeny na odkazy
  • Jediné dvě povinné položky formuláře jsou Jméno a zpráva
  • Na předchozí komentáře odkazujte zápisem [2]

 

Sekce