Úprava bloku komentářů

Datum 11. 03. 2010 v 18:45 | Rubrika: Zápisník pojídačky koláčů pro Xoops

     Nedávno jsem opět bloumala hlubinami redakčního systému a přemýšlela nad jednou věcí. Na tu jsem nakonec nepřišla, ale dostala jsem nápad na jedno malé vylepšení. A protože se mi celkem osvědčilo, tak si o něm napíšeme něco více.

     Jedná se o drobnou úpravu systémového bloku „b_system_comments_show“, který zobrazuje poslední vložené komentáře. Fungování tohoto bloku zajišťuje stejnojmenná funkce v souboru /modules/systém/blocks/systém_blocks.php.
     Nejprve najdeme řádek 365:

$com['module'] = '<a href="'.XOOPS_URL.'/modules/'.$modules[$mid]->getVar('dirname').'/">'.$modules[$mid]->getVar('name').'</a>';


     a změníme jej na:

$com['module'] = '<a href="'.XOOPS_URL.'/modules/'.$modules[$mid]->getVar('dirname').'/" title="Kliknutím přejdete na modul">'.$modules[$mid]->getVar('name').'</a>';


     Tato úprava vlastně přidá jen takovou drobnost a nezmění fungování. Ta drobnost spočívá v tom, že se po najetí myši nad prostřední odkaz tabulky zobrazí informace, kam se člověk dostane kliknutím na odkaz. Má smysl spíše estetický, ale čtenáři se čtečkou jej možná ocení.

     Další je řádek 377:

$com['poster'] = '<a href="'.XOOPS_URL.'/userinfo.php?uid='.$comments[$i]->getVar('com_uid').'">'.$poster->getVar('uname').'</a>';


 který se změní na:

$com['poster'] = '<a href="'.XOOPS_URL.'/userinfo.php?uid='.$comments[$i]->getVar('com_uid').'" title="Kliknutím zobrazíte profil pisatele">'.$poster->getVar('uname').'</a>';


     O úpravě platí vlastně totéž co o předchozí. Opět se jedná spíše o estetický zásah.

     Zajímavější úprava se týká řádku 270:

$com['title'] = '<a href="'.XOOPS_URL.'/modules/'.$modules[$mid]->getVar('dirname').'/'.$comment_config[$mid]['pageName'].'?'.$comment_config[$mid]['itemName'].'='.$comments[$i]->getVar('com_itemid').'&amp;com_id='.$i.'&amp;com_rootid='.$comments[$i]->getVar('com_rootid').'&amp;'.htmlspecialchars($comments[$i]->getVar('com_exparams')).'#comment'.$i.'">'.$comments[$i]->getVar('com_title').'</a>';


     který se změní takto:

$com['title'] = '<a href="'.XOOPS_URL.'/modules/'.$modules[$mid]->getVar('dirname').'/'.$comment_config[$mid]['pageName'].'?'.$comment_config[$mid]['itemName'].'='.$comments[$i]->getVar('com_itemid').'&amp;com_id='.$i.'&amp;com_rootid='.$comments[$i]->getVar('com_rootid').'&amp;'.htmlspecialchars($comments[$i]->getVar('com_exparams')).'#comment'.$i.'" title="Text komentáře: '.htmlspecialchars($comments[$i]->getVar('com_text')).'">'.$comments[$i]->getVar('com_title').'</a>'


     Přidání kousku kódu: title="Text komentáře: '.htmlspecialchars($comments[$i]->getVar('com_text')) způsobí, že systém z databáze přečte text komentáře a ten vloží do parametru < title > příslušného odkazu. Tím je zajištěno, že není nutné stále otevírat článek, když si chci jen přečíst komentáře. Kolik písmenek z komentáře se ve výsledku zobrazí záleží na prohlížeči, XOOPS jej nijak neomezuje. Trošku potíž je v tom, že je použita funkce htmlspecialchars takže se v textu zobrazí i formátovací značky a podobné znaky. Jak to změnit ale zatím nevím.

     Jak tyto úpravy fungují v reálu, si můžete vyzkoušet přímo tady na Žirafovinách. Nejedná se o nic světoborného, ale mne se na tom líbí, že mohu přečíst komentáře a nemusím se přihlašovat nebo svojí návštěvou ovlivňovat počítadlo.

     Pokud se někdo bude úpravou inspirovat, budu ráda



Článek pochází z webu Žirafoviny.cz
https://www.zirafoviny.cz

URL tohoto článku je:
https://www.zirafoviny.cz/modules/news/article.php?storyid=117