Textpattern - на русском языке

форум общения русскоязычных пользователей CMS Текстпаттерн

Вы не зашли.

#1 15-11-2007 00:12:13

gukcso
глаголь
Зарегистрирован: 23-04-2007
Сообщений: 32
Вебсайт

Определение самых популярных статей

Нужен плагин dzd_counter_view для подсчета количества просмотров статей.
Ну дальше я думаю не проблема выбрать из базы самые популярные статьи.

У меня в каждой категории несколько статей. Типа одна категория - целая книга, я делал список самых популярных категорий.

Получилось что-то типа

<?

    $dbcnx = @mysql_connect('localhost','root','password');
    @mysql_select_db('db_name',$dbcnx);
    mysql_query("SET NAMES UTF8");
    mysql_query ("set character_set_client='utf8'");
    mysql_query ("set character_set_results='utf8'");
    mysql_query ("set collation_connection='utf8_general_ci'");

    $tab_prefix = 'tp';
    $lim = 5; // сколько статей будем показывать
    $filename = "most_popular.txt";
    $site_url = "http://site.ru/";


// составляем таблицу вида
// имя категории | общее количество просмотров статей по категории | название категории

    $wh = mysql_query("SELECT category1, sum(custom_1) AS sum, tptxp_category.title FROM tptextpattern INNER JOIN tptxp_category ON tptxp_category.name=tptextpattern.category1 WHERE category1<>'none' GROUP BY category1 ORDER by sum DESC LIMIT ".$lim."");

    while($temp = mysql_fetch_array($wh))
        {
            $c1 = $temp['category1'];
            $tit = $temp['title'];
   
    // т.к. скрипт автономный, приходится генерировать урл самому.
    // урл вида /section/id/title

            $whh = mysql_query("SELECT Section, ID, url_title from tptextpattern WHERE category1='".$c1."' LIMIT 1");
            $whzh = mysql_result($whh,0,'ID');
            $whzh1 = mysql_result($whh,0,'Section');
            $whzh2 = mysql_result($whh,0,'url_title');

            $retmas[]='<p><img src="'.$site_url.'images/li.gif"><a href="'.$site_url.''.$whzh1.'/'.$whzh.'/'.$whzh2.'">'.$tit.'</a>';
        }

    $rest = implode ("\r\n", $retmas);

    $file = fopen ($filename,"r+");
    fputs ($file, $rest);
?>

В каталог со скриптом кидаем файл most_popular.txt и ставим права 777.
В шаблоне выводим:

<txp:php >
$file = fopen("/home/site/public_html/cron/most_popular.txt","r");
fpassthru($file);
fclose ($file);
</txp:php>

Запуск скрипта можно поставить по cron'u, например один раз в день.

Написано конечно не ахти, но для собственных нужд вполне хватает)

Отредактированно gukcso (15-11-2007 00:17:23)

Неактивен

 

Board footer

RSS   Rambler's Top100
Powered by PunBB
Textpattern.ru