Welcome, Guest. Please login or register.
Did you miss your activation email?
09 May 2008, 08:48

Login with username, password and session length
Home Chat Help Search Calendar Login Register
Pages: [1]
Print
Author Topic: Labiausiai skaitoma naujiena  (Read 562 times)
0 Members and 1 Guest are viewing this topic.
ogo
Forum Member
*

Karma: 0
Offline Offline

Posts: 30



« on: 16 Mar 2008, 08:32 »

Sveiki
puse dienos mastau kaip čia tokį reikalą padarius.
Šis variantas nelabai tinka ir nelabai patinka.
Gal žinot kokių triuką?
Logged
Karolis
Moderator
Power Poster
*****

Karma: 1
Offline Offline

Posts: 352

Location: Lithuania



WWW
« Reply #1 on: 16 Mar 2008, 17:47 »

Aš ne programeris, tad asmeniškai šiuo klausimu vargu ar pagelbėt galėsiu. Laukiam kol kazkas pasireikš – jis turi visokio mandro kodo prirašęs Smiley
Logged
kazkas
Forum Member
*

Karma: 1
Offline Offline

Posts: 83

Location: Telford, GB



« Reply #2 on: 26 Mar 2008, 05:33 »

heh, atleiskite kad buvau atitrukes nuo CMS MS reikalu - Wordpressinis uzsakymas buvo Wink Tuoj pagalvosiu, ka cia galima butu padaryti...
Logged
kazkas
Forum Member
*

Karma: 1
Offline Offline

Posts: 83

Location: Telford, GB



« Reply #3 on: 26 Mar 2008, 06:15 »

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

Code:
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.
Logged
kazkas
Forum Member
*

Karma: 1
Offline Offline

Posts: 83

Location: Telford, GB



« Reply #4 on: 26 Mar 2008, 06:31 »

na, o antra dalis identiska tavo pateiktai:

Code:
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.
Logged
kazkas
Forum Member
*

Karma: 1
Offline Offline

Posts: 83

Location: Telford, GB



« Reply #5 on: 26 Mar 2008, 06:35 »

O dabar beliko maloniausia dalis: ten, kur nori isvesti savo populiariausias naujienas, templeite rasai:
Code:
{most_popular}
{foreach from=$most_popular item=entry}
    {$entry->id}{$entry->title}, {$entry->views} views<br />
{/foreach}

Na, tikiuosi esme pagavai Smiley
Logged
ogo
Forum Member
*

Karma: 0
Offline Offline

Posts: 30



« Reply #6 on: 28 Mar 2008, 07:24 »

Gražu Smiley
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?


* kl.jpg (34.59 KB, 500x99 - viewed 27 times.)
« Last Edit: 28 Mar 2008, 07:44 by ogo » Logged
kazkas
Forum Member
*

Karma: 1
Offline Offline

Posts: 83

Location: Telford, GB



« Reply #7 on: 29 Mar 2008, 18:34 »

Gražu Smiley
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 Smiley sorry, neapsiziurejau Wink
Logged
Pages: [1]
Print
Jump to: