Obrázek   
Přihlášení
Uživatelské jméno:

Heslo:

Pamatovat si mne



Zapomenuté heslo

Nová registrace
Kam dále?
Hledání
Vzhled

(3 vzhledů)
Kdo je Online
9 uživatel(ů) je online (1 uživatel(ů) si prohlíží Články a povídání)

Uživatelé: 0
Hosté: 9

více...
Noví uživatelé
pospichal
pospichal
03.05.2019
Steppenwolf
Steppenwolf
15.03.2019
numitron
numitron
04.03.2019
vvrsek
vvrsek
31.01.2019
EMANUEL
EMANUEL
21.12.2018
kojaro
kojaro
16.12.2018
TothSt
TothSt
13.11.2018
Nyrenn
Nyrenn
06.10.2018
Hezron
Hezron
05.10.2018
Jurášek
Jurášek
20.09.2018
Kdo za co může
Administrátorka
Žirafka
Žirafka
Žirafička
Žirafička
Redaktoři
bernard
bernard
IvanH
IvanH
 
Emeritní
KatyH
KatyH

Xoops - Problém s počtem komentářů

Napsal/a Žirafka v 22. 11. 2009 v 18:12 (přečtení 2981×) Další články tohoto autora
Xoops
     Trošku jsem se vrtala v systému Žirafovin a napadlo mě několik drobností. Téměř všechno se týkalo buď mých modulů a nebo jazykových souborů. Ale pak mi do očí padla jedna věc a to zobrazování počtu komentářů u článků. Sice to bylo správně, ale nebylo to ono.

     Na webu je dosti často kritizovaný fakt, že autoři programů, či jiných systémů, nepočítají s jiným jazykem než je ten jejich. Takže různé počty bývají zobrazované správně v původním jazyce, ale v češtině to je „divné“. Ale nejde jen o češtinu, některé jiné jazyky jsou na tom podobně. Při překladu se to pak obchází například takto: „Počet komentářů: 3“ místo správnějšího „3 komentáře“. Když ale původní program dovede rozlišit pouze jeden nebo více komentářů, je to problém.

     A právě proto jsem se pustila do zkoumání modulu News, jenž se na Žirafovinách stará o články. Je to dosti složitý modul, možná jeden z nejsložitějších vůbec, ale nakonec jsem našla vše potřebné a trošku jej „hacknula“

     Důležité jsou tyto dva soubory:

language/jazyk/main.php a
class/class.newsstory.php

    Oba jsou umístěné ve struktuře modulu.

     V tom první je potřeba změnit:

define("_NW_NUMCOMMENTS","%s komentáře");

na
define("_NW_NUMCOMMENTS2","%s komentáře");
define("_NW_NUMCOMMENTS5","%s komentářů");


     To je snadné, ve druhém je to již o něco složitější. Je potřeba najít:

if (XOOPS_COMMENT_APPROVENONE != $xoopsModuleConfig['com_rule'])
{
$ccount $this->comments();
$morelink .= '<a href="'.XOOPS_URL.'/modules/news/article.php?storyid='.$this->storyid().'';
$morelink2 '<a href="'.XOOPS_URL.'/modules/news/article.php?storyid='.$this->storyid().'';

if ( 
$ccount == )
{
$morelink .= '">'._NW_COMMENTS.'</a>';
}
else
{
if ( 
$fullcount )
{
if ( 
$ccount == )
{
$morelink .= '">'._NW_READMORE.'</a> | '.$morelink2.'">'._NW_ONECOMMENT.'</a>';
}
else
{
$morelink .= '">'._NW_READMORE.'</a> | '.$morelink2.'">';
$morelink .= sprintf(_NW_NUMCOMMENTS$ccount);
$morelink .= '</a>';
}
}
else
{
if ( 
$ccount == )
{
$morelink .= '">'._NW_ONECOMMENT.'</a>';
}
else
{
$morelink .= '">';
$morelink .= sprintf(_NW_NUMCOMMENTS$ccount);
$morelink .= '</a>';
}
}
}
}


     A to změnit na:

if (XOOPS_COMMENT_APPROVENONE != $xoopsModuleConfig['com_rule'])
{
$ccount $this->comments();
$morelink .= '<a href="'.XOOPS_URL.'/modules/news/article.php?storyid='.$this->storyid().'';
$morelink2 '<a href="'.XOOPS_URL.'/modules/news/article.php?storyid='.$this->storyid().'';

if ( 
$ccount == )
{
$morelink .= '">'._NW_COMMENTS.'</a>';
}
else
{
if ( 
$fullcount )
{
if ( 
$ccount == )
{
$morelink .= '">'._NW_READMORE.'</a> | '.$morelink2.'">'._NW_ONECOMMENT.'</a>';
}
else
{
if (( 
$ccount >) && ( $ccount <5))
{
$morelink .= '">';
$morelink .= sprintf(_NW_NUMCOMMENTS2$ccount);
$morelink .= '</a>';
}
else
{
$morelink .= '">';
$morelink .= sprintf(_NW_NUMCOMMENTS5$ccount);
$morelink .= '</a>';
}
}
}
else
{
if ( 
$ccount == ) {
$morelink .= '">'._NW_ONECOMMENT.'</a>';
}
else
{
if (( 
$ccount >) && ( $ccount <5))
{
$morelink .= '">';
$morelink .= sprintf(_NW_NUMCOMMENTS2$ccount);
$morelink .= '</a>';
}
else
{
$morelink .= '">';
$morelink .= sprintf(_NW_NUMCOMMENTS5$ccount);
$morelink .= '</a>';
}
}
}
}
}


     No a to je vlastně všechno. Úprava začne fungovat okamžitě, pokud však máte zapnutou vyrovnávací paměť, je potřeba ji nejprve vymazat, jinak se změna projeví až po jejím vyprázdnění.

     A jako vždy na závěr povídání o úpravách systému: před každou úpravou si proveďte zálohu původních souborů. Člověk nikdy neví, co se kde může zvrtnout.
Hodnocení: 10,00 (1 hlas) - Ohodnotit -
Formátovat pro tisk Poslat známému Vytvořit z článku PDF
Komentář je vlastnictvím svého autora. Vyjadřuje jeho názory, ne názory redakce nebo provozovatele webu či serveru.
Napsal/a Vlákno
Host
Publikováno dne: 23.11.2009. 23:38  
 Odp: Problém s počtem komentářů
Každý počin na pozdvihnutí kultury jazyka českého je záslužný a chvályhodný, i kdyby byl jakkoli malý a zdánlivě bezvýznamný. Když člověk poslouchá třeba některé adolescentní moderátory soukromých rozhlasových stanic, zaplakal by. O to víc potěší poznání, že se najdou i takoví, kteří se snaží jít proti tomu zneuctívajícímu proudu.

Jen tak dál! Ať příklady táhnou!
Pavel
Host
Publikováno dne: 10.12.2009. 21:14  
 Odp: Problém s počtem komentářů
Ten Xoops je stejně pěknej RS, myslím že autorka dobře uctila památku starého MCU serveru (kterej na něm jel taky, škoda ho )
Žirafka
Publikováno dne: 10.12.2009. 22:43   Aktualizováno dne:23.12.2009. 15:08
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1071
 Odp: Problém s počtem komentářů
Však také MCU může za to, že tu Xoops běhá Před iks lety jsem se ptala Kosti, co to tam má za systém a on mě navedl na Xoops, on měl ale Xoops 1 a tenkrát už byla venku dvojka. No a tak jsem to s ním zkusila a zůstala u něj. Původně na úplně jiném serveru no a před rokem a půl vznikly Žirafoviny Potíž začíná být s kódováním češtiny, ale to není problém Xoopsu ale PHP5 a MySQL... :-/
Obrázek Obrázek
ObrázekObrázekObrázekObrázekObrázek
Obrázek
Redakční systém XOOPS 2.5.10
Obsah © 2008-2019 Žirafoviny