Dokumentace k pluginu 'Freetag'
Dokumentaci k tomuto pluginu přeložil do češtiny Vladimír Ajgl (vlada [zavinac] ajgl [tecka] cz) dne 5.7.2011. Od té doby mohl být plugin pozměněn nebo mohly být rozšířené jeho funkce. Zkontrolujte pro jistotu i aktuální anglické "README", "README.txt" a ChangeLog.
Následující kód ukazuje příklad, jak použít rozšířený výstup do smarty šablony. Takto může například vypadat šablona "entries.tpl"
{if isset($entry.freetag.extended) && $entry.freetag.extended == 1}
{if $entry.freetag.tags.tags}
<div class="serendipity_freeTag">{$entry.freetag.tags.description}
{foreach from=$entry.freetag.tags.tags item="tag"}
{$tag}
{/foreach}
</div>
{if $is_single_entry or $is_preview}
{$entry.freetag.related.description}
<ul class="serendipity_freeTag_related">
{foreach from=$entry.freetag.related.entries item="link"}
<li>{$link}</li>
{/foreach}
</ul>
{/if}
{/if}
{else}
{$entry.freetag}
{/if}
Pomocí následujícího sql dotazu můžete v databázi vytvořit tagy z existujících kategorií:
INSERT INTO serendipity_entrytags (entryid, tag)
SELECT serendipity_entries.id, serendipity_category.category_name
FROM serendipity_entries, serendipity_category, serendipity_entrycat
WHERE serendipity_entrycat.entryid = serendipity_entries.id
AND serendipity_category.categoryid = serendipity_entrycat.categoryid;
(převzato z http://pixelated-dreams.com/archives/229-Spring-Cleaning.html)
A nebo můžete pro vytvoření tagů z kategorií použít následující skript:
<?php
include 'serendipity_config.inc.php';
$rows = serendipity_db_query("SELECT e.id, e.title, c.category_name
FROM {$serendipity['dbPrefix']}entries AS e
JOIN {$serendipity['dbPrefix']}entrycat AS ec
ON ec.entryid = e.id
JOIN {$serendipity['dbPrefix']}category AS c
ON ec.categoryid = c.categoryid");
foreach($rows AS $row) {
serendipity_db_query(
sprintf(
"REPLACE INTO {$serendipity['dbPrefix']}entrytags (entryid, tag) VALUES (%d, %s)",
(int)$row['id'],
serendipity_db_escape_string($row['category_name'])
)
);
printf(
"Category '%s' added as Tag for Entry #%d, '%s'<br />\n",
htmlspecialchars($row['category_name']),
(int)$row['id'],
htmlspecialchars($row['title'])
);
}
?>
Historie verzí (ChangeLog)
- verze 3.27
- Správná detekce porovnání (collation) v MySQL databázi
- verze 3.26
- Přidána kontrola is_array() [Timbalu]
- verze 3.25
- verze 3.24
- Přidáno kórování databáze (MySQL), oprava od uživatele [Vincent]
- verze 3.23
- verze 3.22
- Ošetřen možný XSS útok (Cross Site Scripting) reportovaný uživatelem [Stefan Schurtz] (SSCHADV2011-004)
- verze 3.21
- Přidán háček (event hook) "sort" pro plugin serendipity_event_sort (autor [lazybadger])
- verze 3.20
- Mrak tagů se zobrazuje jako smarty šablona "plugin_freetag.tpl". Pokud si chcete přizpůsobit výstup, zkopírujte tento soubor do adresáře vašeho stylu vzhledu a upravte ho dle sebe.
- verze 3.18
- Automatická detekce klíčových slov nyní funguje pouze vně html tagů, takže nic jako <a href="/serendipity/"> nyní nebude detekováno jako klíčové slovo 'serendipity'
- verze 3.17
- Přidána funkce do administrátorské sekce: vyčištění tagů přiřazených k neexistujícím příspěvkům.
- Text potvrzovacího tlačítko ve formuláři pro přejmenování tagu už není zadán natvrdo, ale dá se přeložit.
- Opravena chyba v syntaxi HTML ve formuláři pro přejmenování tagu, a to použitím odpovídající HTML entity.
- verze 3.16
- Oprava chyby: Klíčová slova (meta-keywords) se nezobrazovala v příspěvcích.
- verze 3.15
- Odstraněna nesprávná chybová hláška "FATAL ERROR! Unrecognized type for
serendipity_event_freetag:: !"
(Fatální chyba! Neznámý typ pro serendipity_event_freetag:: !)
- verze 3.13, 3.14
- Přidáno volání funkce mb_internal_encoding() pro správný převod znaků na malá písmena.
- verze 3.12.1
- Nahrazeno "wick-based" automatické doplňování jquery pluginem (wick nefungoval v Opeře)
- verze 3.11.0
- Přidána volba, zda mají být tagy přidány na základě automatického hledání klíčových slov.
- Opraveny falešné výsledky při změně hledání na regulární výrazy.
- verze 3.10.5
- Chytání očekávaných chyb v tagcloud query.
- verze 3.10.4
- Přidána další kontrola na prázdný výsledek pro potlačení chybových hlášek databáze.
- verze 3.10.3
- Opraveny chybějící tagy v náhledu uloženého příspěvku v přehledu příspěvků.
- Opraveno připojování výstupu k náhledu v editoru.
- verze 3.10.2
- Opravena chybná detekce rozšířeného/jednoduchého příspěvku.
- verze 3.10
- Produkuje podobné články jako nečíslovaný seznam <ul>
- Zanoření o jeden krok níže při prohledávání podobných tagů.
- "Podobné tagy" je nyní odstavec <p> míst původního bloku <div>
- Zaveden rozšířený Smarty-Markup
- Vyčištění kódu v displayEntry()
- verze 3.09
- Opraveno chybějící escapování proměnných v SQL dotazech.
- verze 3.08 [Chessnut]
- Při prohlížení příspěvků podle tagů nejsou používána omezení kategoriemi (jako například v pluginu startcat)
- verze 3.07
- Kontrola, že se pole array vytvoří pouze při úspěšném provedení SQL dotazu.
- verze 3.06 [garvinhicking]
- Oprava automatického hledání dle klíčových slov i na tagy s velkými písmeny.
- verze 3.05 [garvinhicking]
- Používání pouze flash-bg/fg barev, pokud je flash cloud zapnut.
- verze 3.04 [garvinhicking]
- verze 3.03 [garvinhicking]
- Přidáno escapování databáze při čtení tagů.
- Opraven duplicitní řetězec LIMIT v SQl dotazu. (Díky uživateli [rupa])
- verze 3.01 [designor]
- Optimalizace výstupu, použití nejnovějšího SWFObject.
- verze 3.0 [lstrojny]
- verze 2.51 [lstrojny]
- Opraveno řazení tagů při použití se šablonou.
- verze 2.5 [lstrojny]
- Přidání možnosti použití Smarty šablony pro vykreslení postranního sloupce.
- Sjednocení čísel verzí.
- verze 2.105 [RobA]
- Opravy ve Flashi, omezování počtu tagů, výchozí hodnoty nastavení.
- verze 2.103 [RobA]
- Přidán rotující Flashový tagcloud (mrak tagů)
- verze 2.97 [garvinhicking]
- Možnost umístění tagů do smarty šablony pomocí {$entry.freetag}, pokud je nastaveno použití smarty.
- verze 2.96 [garvinhicking]
- verze 2.95 [garvinhicking]
- Přidán nastavitelný obrázek technorati
- verze 2.92/2.45 [brockhaus]
- Přidáno nastavení pro XML obrázek
- verze 2.88/2.44 [brockhaus]
- Přidán volitelný tag technorati za tagy v patičce příspěvku.
- verze 2.88/2.43 [brockhaus]
- Přidána možnost nastavení minimální/maximální velikosti fontu v postranním sloupci.
- verze 2.88/2.42 [garvinhicking]
- Řazení tagů v postranním sloupci bez ohledu na velikost písmen.
- verze 2.88/2.41 [brockhaus]
- Plugin pro postranní sloupec vždycky načetl prvních X tagů podle jména, ne podle příbuznosti (tagcount, počet tagů). Tedy příbuzné/podobné tagy tagy na konci abecedy se nezobrazovaly.
- verze 2.70
- Přidána možnost "automatické tagy". To znamená, které tagy přiřadit k příspěvku, pokud jsou v něm nalezena klíčová slova svázaná s tagem.
- verze 2.64
- Přidána volba pro převod kategorií na tagy.
- verze 2.48
- Nastavení pro převod na mlá písmena, oprava od [Lars Strojny]
- verze 2.47
- Lepší zobrazování meta-informací
- verze 2.44
- Zobrazování podobných příspěvků, oprava od [Stain]
- Změna místa zobrazování tagů, nyní nastavitelné uživatelem.