6876
- 3
На конец то я нашел рабочий скрипт счетчика кликов или скачивания,и долго ломал голову почему он у меня не работает
С подсказки и помощи 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, можете либо залить свою картинку загрузки либо убрать картинку из кода, на ваше усмотрение.
Можешь почитать и вот эту статейку "Иконка у внешней ссылки"
Это тоже интересно
- 05.12.15Падающие снежинки на сайт
- 01.09.17Форматирование телефона,даты....
irbees2008 3.11.2014 - 03:27 Pixar2301, ошибки исправил ,спасибо.Ссылку на сайт дай в личку ,гляну.
Pixar2301 3.11.2014 - 05:28 irbees2008, спс, все работает. Я почему-то решил что данный скрипт считает и количество переходов по ссылке без файлов на скачивание тоже. А оказывается нет.
Чтобы уж совсем было хорошо поправь еще атрибут </a> у своей ссылки. У тебя там открывающей галочки не хватает ( < ) .
А скрипт полезный и очень нужный!!!
Чтобы уж совсем было хорошо поправь еще атрибут </a> у своей ссылки. У тебя там открывающей галочки не хватает ( < ) .
А скрипт полезный и очень нужный!!!
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
irbees2008 я так понимаю у тебя в коде есть ошибки? Кое что поправил, а именно:
Вместо <skript></skript>
поставил <script type="text/javascript"></script>
В адресе {{home}}click_counter/index.php после {{home}} отсутствует черта т.е. ( / ) После внесения данных изменений появился счетчик , но при нажатии на кнопку он все равно по нулям.
irbees2008 все что я поправил это ошибки? Если да, то может там еще есть. Папку закинул которая в архиве была и права установил и 755 и 777 но все равно не работает(((
ответить