2.12.13, 10:04
0 комментарий
  DLE Хаки

Самый просматриваемый материал за текущий день

Пошел ажиотаж данной темы, много обсуждений и т.п. Вот я и решил сделать свой вариант.
Вывод производится стандартным тегом {custom}.

Прошу внимательно прочитать принцип работы.
Метод основан на алгоритме предложенном в этой теме.
Его особенность заключается в том, что в счетчике просмотров учитываются только просмотры за текущий день, т.е. с 00:01 до текущего момента.

Пример:

Самый просматриваемый материал за текущий день


Как видно, сначала сортируется по наибольшему количеству дневного просмотра, потом по общему количеству (если количества дневных просмотров равны).
Шаблон:

{title} - ({views} + <b>{day_read}</b>)<br/>


{title} - просто заголовок
{views} - общее количество просмотров, стандартно
{day_read} - количество просмотров за текущий день

Так же отдельно стоит отметить, что данный метод работает только при выключенном (!) кешировании счетчика просмотров.

Установка:
Выполнить запрос в БД:

ALTER TABLE `dle_post_extras` ADD `day_read` INT( 6 ) NOT NULL DEFAULT '0';



Открыть файл engine/modules/functions.php
Найти строку:

		if ($match[1] == "title" ) $news_msort = "ASC";


После нее вставить:

		if ($match[1] == "day_read" ){
			$sql_select = str_replace("e.news_read, ","e.news_read, e.day_read, ",$sql_select);
			$news_sort = $match[1]." DESC, news_read";
		}



Открыть файл engine/modules/show.full.php
Найти код (2шт):

news_read=news_read+1


Заменить на:

news_read=news_read+1, day_read=day_read+1



Открыть файл engine/modules/cron.php
Найти строку:

if( $cron == 2 ) {


После нее вставить:

$db->query( "UPDATE " . PREFIX . "_post_extras SET day_read=0" );


Это будет сбрасывать ежедневный счетчик.


Этот пункт выполнять только если нужна возможность вывода тега {day_read}
Открыть файл engine/modules/show.custom.php
Найти код:

'{views}' => $row['news_read'], 


Заменить на

'{views}' => $row['news_read'], '{day_read}' => $row['day_read'], 


В шаблоне сайта выводить, например так:

{custom order="day_read" limit="10"}


Автор: Sander

Реклама

Напишите своё мнение

  • acuteaggressiveair_kissangel
    badbbbeachbeee
    biggrinbig_bossblumblush
    boastbombboredombye
    clappingcraycrazycurtsey
    dancedashdeclarediablo
    diroldon-t_mentiondownloaddrinks
    first_moveflirtfocusfool
    friendsgive_heartgive_rosegood
    hangheartheathelp
    hihunterhystericireful
    kingkisslaughlazy
    lolmail1mambaman_in_love
    mdamega_shokmoilmosking
    musicneanegativenew_russian
    okon_the_quietpardonparting
    partypilotpioneerpleasantry
    popcormpranksterprevedpunish
    roflrtfmrussiansad
    sarcasticscarescratchsearch
    secretsensoredshokshout
    slowsmilesmokesoldier
    soldier_girlsorryspitefulspruce_up
    stinkersuicidesunsuperstition
    swoonteasetenderthanks
    thisto_pick_ones_noseto_take_umbragetreaten
    umnikunknwvampirevava
    victorywackowhistlewink
    wizardyahooyesyu
    e101e102e103e104
    e105e106e107e108
    e109e110e111e112
    e113e114e115e116
    e117e118e119e120
    e121e122e123e124
    e125e126e127e128
    e129e130e131e132
    e133e134e135e136
    e137e138e139e140
    e141e142e143e144
    e145e146e147e148
    e149e150e151e152
    e153e154e155e156
    e157e158e159e160
    e161e162e163e164
    e165e166e167e168
    e169e170e171e172
    e173e174e175e176
    e177e178e179e180
    e181e182e183e184
    e185e186e187e188
    e189e190e191e192
    e193e194e195e196
    e197e198e199e200
    e201e202e203e204