Хаки и Скрипты Next Generation CMS

Скрипт - счетчик кликов или скачиваний для внешних ссылок

irbees2008 irbees2008 Опубликовано - 12 - сентября Текст и ссылки
7672 - 3
  • Автор: Sander
  • Адаптировал: irbees2008
  • Источник:
  • Уровень сложности исполнения: это делается простым копированием и нажиманием кнопки
  • Демо:

На конец то я нашел рабочий скрипт счетчика кликов или скачивания,и долго ломал голову почему он у меня не работает
С подсказки и помощи infinity237 ,скрипт заработал,теперь делюсь с вами.
Итак приступим
1. Создаем в корне сайта папку с названием click_counter, задаем ей права на запись 777(в некоторых случаях 755,так было у меня и поэтому не работал скрипт).
Ну можете скачать Вы не можете скачивать файлы с нашего сайта ,рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем. ,распаковать и залить готовую папку с содержимым.
2. В нашей папке создаем файл 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.Также там создаём пустой файл stats.txt

4.Теперь нам надо заменить нашу ссылку
Код:
{% if (p.xfields.download.value) %}
<a href="{{ p.xfields.download.value }}" target="blank">Скачать</a>
{% endif %}
На такую
Код:
{% if (p.xfields.download.value) %}
<a href="{{ p.xfields.download.value }}" class="click_count" target="blank">Скачать</a>
{% endif %}
Как вы заметили сам адрес ссылки добавляем через дополнительное поле "download" в плагине xfields,а в самой ссылке мы добавили class="click_count",по этому классу и работает скрипт

5. Подключаем js, в main.tpl перед закрытием тега body :
Код:
<script>
$(function(){
function get_counter(a,b){
$.get('{{home}}/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');
});
})
</script>
6.Вот и все ,посмотрите демо,ну и вам останется только настроить стиль для самого числа счетчика.
P.S. Как вы видели в скрипте , пока скрипт выполняет запрос в качестве заглушки использую изображение /click_counter/loading.gif, можете либо залить свою картинку загрузки либо убрать картинку из кода, на ваше усмотрение.

Можешь почитать и вот эту статейку "ВЕРСТКА ШАБЛОНОВ НА DIVах для новичков"

    Pixar2301
    Pixar2301 3.11.2014 - 01:00
    У меня почему-то не работаетcry
    irbees2008 я так понимаю у тебя в коде есть ошибки? Кое что поправил, а именно:
    Вместо <skript></skript>
    поставил <script type="text/javascript"></script>
    В адресе {{home}}click_counter/index.php после {{home}} отсутствует черта т.е. ( / ) После внесения данных изменений появился счетчик , но при нажатии на кнопку он все равно по нулям.
    irbees2008 все что я поправил это ошибки? Если да, то может там еще есть. Папку закинул которая в архиве была и права установил и 755 и 777 но все равно не работает(((

    ответить

    irbees2008
    irbees2008 3.11.2014 - 03:27
    Pixar2301, ошибки исправил ,спасибо.Ссылку на сайт дай в личку ,гляну.

    ответить

    Pixar2301
    Pixar2301 3.11.2014 - 05:28
    irbees2008, спс, все работает. Я почему-то решил что данный скрипт считает и количество переходов по ссылке без файлов на скачивание тоже. А оказывается нет.
    Чтобы уж совсем было хорошо поправь еще атрибут </a> у своей ссылки. У тебя там открывающей галочки не хватает ( < ) .
    А скрипт полезный и очень нужный!!!

    ответить

Опрос

Ваше мнение

На каком движке ваш сайт?
Результаты

Последние комментарии

Обновленное

Теги

Anything in here will be replaced on browsers that support the canvas element

Статистика

  • Caйт cущecтвуeт: 4870 дней
  • Статических страниц: 10
  • Категорий: 28
  • Новостей: 624
  • Неопубликованных новостей: 8
  • Комментариев: 259
  • Зарегестрированных пользователей: 1445
  • Онлайн всего: [8]
  • Гости: [7]
  • Поисковые роботы: [1] Google
  • Сегодня нас посетили: [6] irbees2008, Google, Яндекс, dankeanke, Google, Яндекс
  • SQL запросов: 45
  • Генерация страницы: 0.084сек
  • Потребление памяти: 7.291 Mb 
  •   Яндекс.Метрика