На конец то я нашел рабочий скрипт счетчика кликов или скачивания,и долго ломал голову почему он у меня не работает
С подсказки и помощи 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];
?>
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 %}
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>
P.S. Как вы видели в скрипте , пока скрипт выполняет запрос в качестве заглушки использую изображение /click_counter/loading.gif, можете либо залить свою картинку загрузки либо убрать картинку из кода, на ваше усмотрение.
Можешь почитать и вот эту статейку "Аннимированные кнопки иконки"


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

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