форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Нужен плагин 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)
Неактивен