Labiausiai skaitoma naujiena

Lietuviškas CMS Made Simple forumas

Moderator: Augustas

Post Reply
ogo

Labiausiai skaitoma naujiena

Post by ogo »

Sveiki
puse dienos mastau kaip čia tokį reikalą padarius.
Šis variantas nelabai tinka ir nelabai patinka.
Gal žinot kokių triuką?
kazkas

Re: Labiausiai skaitoma naujiena

Post by kazkas »

heh, atleiskite kad buvau atitrukes nuo CMS MS reikalu - Wordpressinis uzsakymas buvo ;) Tuoj pagalvosiu, ka cia galima butu padaryti...
kazkas

Re: Labiausiai skaitoma naujiena

Post by kazkas »

OK, pirma dalis: sukuri showcounts UTD (User Defined Tag) ir jame irasai:

Code: Select all

global $gCms;
$db = &$gCms->db;
$id = $gCms->smarty->_tpl_vars['entry']->id;
$query = "UPDATE `cms_module_news` SET news_extra=IF(ISNULL(news_extra),1,1+news_extra) WHERE `news_id`=$id";
echo $query;
$rez = $db->Execute($query);
Savo naujienu Detail templeite pridedi kreipimasi i si UDT: {showcounts}, geriausiai pacioje templeito pabaigoje. Dabar i Extra laukeli naujienose bus pliusuojamas kiekvienas apsilankymas.
kazkas

Re: Labiausiai skaitoma naujiena

Post by kazkas »

na, o antra dalis identiska tavo pateiktai:

Code: Select all

global $gCms;
$db = &$gCms->db;
$result = array();
$q = " SELECT * FROM `cms_module_news` ORDER BY ( 1 + news_extra ) DESC LIMIT 5 ";
$dbresult = $db->Execute( $q );
if( $dbresult ) {
    while ( $row = $dbresult->FetchRow() ) {
      $onerow = new stdClass();
      $onerow->title = $row['news_title'];
      $onerow->id = $row['news_id'];
      $onerow->views = $row['news_extra'];
      $result[] = $onerow;
    }
}
$gCms->smarty->assign("most_popular", $result);
Jei kam smalsu - kadangi news_extra yra varchar tipo laukas, norint kad rusuotu kaip skaiciu, o ne kaip eilute (kad butu 111 > 99, o ne atvirksciai), rusiavimui naudojama ( 1 + news_extra ), o ne news_extra.

Issaugai si koda i kita UDT, sakykim most_popular.
kazkas

Re: Labiausiai skaitoma naujiena

Post by kazkas »

O dabar beliko maloniausia dalis: ten, kur nori isvesti savo populiariausias naujienas, templeite rasai:

Code: Select all

{most_popular}
{foreach from=$most_popular item=entry}
    {$entry->id}{$entry->title}, {$entry->views} views<br />
{/foreach}
Na, tikiuosi esme pagavai :)
ogo

Re: Labiausiai skaitoma naujiena

Post by ogo »

Gražu :)
Dabar beliko sugalvot kaip nuorodą uždėti ir pasirinkti, kad rodytu tik iš tam tikros kategorijos

ps prikabinu jpg su klausimu: ar taip ir turi būt?
Attachments
kl.jpg
Last edited by ogo on Fri Mar 28, 2008 12:44 pm, edited 1 time in total.
kazkas

Re: Labiausiai skaitoma naujiena

Post by kazkas »

ogo wrote: Gražu :)
Dabar beliko sugalvot kaip nuorodą uždėti ir pasirinkti, kad rodytu tik iš tam tikros kategorijos

ps prikabinu jpg su klausimu: ar taip ir turi būt?
ismesk "echo $query;" eilute is showcounts UTD :) sorry, neapsiziurejau ;)
Post Reply

Return to “Lithuanian - Lietuviškai”