Sander" />
Иногда бывают случаи, когда нужен отдельный счётчик который будет подсчитывать какое-либо действие пользователя и хранить их в дальнейшем. Данный хак поможет вам отрегулировать ситуацию в том плане, что допустим "удалённые" материалы хранятся на облачных хранилищах, а что бы знать сколько человек решила всё же перейти и ознакомиться с материалом, то в данном случае нам поможет данное решение.
1. В корне сайта создать папку с названием click_counter задать ей права на запись 777.
2. В ней создать PHP файл index.php с содержимым:
Например было:
Отдельно стоит отметить - где и как будет отображаться само число счетчика. На примере того же html кода, что я приводил выше, мы получим:
Ну и еще, как видно в коде, пока скрипт не обработался в качестве заглушки используется изображение /click_counter/loading.gif, вы можете либо залить свою картинку загрузки либо вообще убрать картинку из кода, на ваше усмотрение.
Версия DLE: 9.x-10.x
1. В корне сайта создать папку с названием click_counter задать ей права на запись 777.
2. В ней создать PHP файл index.php с содержимым:
<?PHP
@error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );
@ini_set ( 'display_errors', true );
@ini_set ( 'html_errors', false );
define ( 'ROOT_DIR', dirname ( __FILE__ ) );
if(!$_GET['href']) die('Undefinded href');
$href = md5($_GET['href']);
$stat = unserialize(file_get_contents(ROOT_DIR."/stats.txt"));
if(!$stat[$href]) $stat[$href] = 0;
if($_GET['type']=='set'){
$stat[$href]++;
file_put_contents(ROOT_DIR. "/stats.txt", serialize($stat), LOCK_EX);
}
echo $stat[$href];
?>
3. Теперь перейдем к шаблону и JS обработчику. В качестве триггера, для желаемой кнопки добавляем имя класса click_count.Например было:
<a href="[xfields_download]">скачать</a>
А нужно сделать так:<a href="[xfields_download]" class="click_count">скачать</a>
4. Осталось подключить js, для этого в принципе в любой подключенный к шаблону JS файл можно вставить такой код:$(function(){
function get_counter(a,b){
$.get(dle_root+'click_counter/index.php',{type:b,href:a.attr('href')},function(d){
a.find('.click_counter').html(d);
});
}
var click_trigger = ".click_count";
$(click_trigger).each(function(){
$(this).append(" <span class='click_counter' title='Количество кликов'><img src='/click_counter/loading.gif' alt=''/></span>");
get_counter($(this),'');
});
$('body').on("click",click_trigger,function(){
get_counter($(this),'set');
});
})
Готово!Отдельно стоит отметить - где и как будет отображаться само число счетчика. На примере того же html кода, что я приводил выше, мы получим:
<a href="[xfields_download]" class="click_count">скачать<span class='click_counter' title='Количество кликов'>0</span></a>
Вам останется только настроить стиль для самого числа счетчика.Ну и еще, как видно в коде, пока скрипт не обработался в качестве заглушки используется изображение /click_counter/loading.gif, вы можете либо залить свою картинку загрузки либо вообще убрать картинку из кода, на ваше усмотрение.
Версия DLE: 9.x-10.x
CMS: DLE
Категория: Модули
Автор: Sander
Опубликовал: Дмитрий
Подождите, сейчас файл будет подготовлен, через
секунд Вы получите ссылку на скачивание,
а сейчас может Зарегистрируемся? это быстро!
а сейчас может Зарегистрируемся? это быстро!
Навигация
Список доступных категорий сайта.
Web
Графика и Дизайн
Универсальные скрипты
Шаблоны uCoz и uCit
ㅤ uCoz и uCit Скрипты 28
ㅤ uCoz и uCit улучшения 14
Шаблоны DLE
ㅤ DLE Модули 27
ㅤ DLE Хаки/плагины 35
Прочие CMS шаблоны 9
Онлайн сервисы
Различная графика 104
Страница 404 15
Страница тех. работ 4
Онлайн Аниме от GiG-LiFe
Сериалы и Фильмы от GiG-LiFe
Магазин от GiG-LiFe
Основной сайт GiG-LiFe
Реклама
ТОП 7 Недели Портала
Самое просматриваемое за неделю
Copyright © 2023 | Проект GiG-LiFe.ru
Материалы на этом сайте взяты из общедоступных источников и могут быть удалены по просьбе авторов, при наличии доказательства авторства.
Materials on this site are taken from public sources and may be deleted at the request of their authors when there is evidence of authorship.