Счётчик кликов по ссылке.

Любая помощь по установке/настройке/модификации concrete5

Счётчик кликов по ссылке.

Сообщение dimaho » 05 сен 2014, 00:33 ,  »  Сообщение:#1

Подскажите пожалуйста, есть ли модуль для concrete который бы выводил на страницу количество кликов по ссылке "<a href=.....". У меня стоял (и сейчас там) самопальный счётчик swf, который я сам рисовал в action script с помощью взятого у кого то в интернете кода php. Сейчас счётчик сломался. На страницу закачки переходит, а количество показывает: Undefi. Починить не могу, т.к. потерял исходник. Может есть более простое и не замысловатое решение? На пример- готовый модуль. Или простой код php, вставляемый прямо в страницу, с б.д. в файле txt? Буду примного благодарен, если какой добр человек подскажет простое и понятное решение!
Аватара пользователя
dimaho
 
Сообщения: 44
Зарегистрирован: 18 фев 2014, 22:46
Откуда: г. Ярославль.

Re: Счётчик кликов по ссылке.

Сообщение Count_Raven » 05 сен 2014, 11:10 ,  »  Сообщение:#2

Вообще по любой ссылке на странице?
Или по ссылке на файл для скачки? Просто в Concrete5 хранится количество скачиваний для каждого файла (само собой если этот файл загружен в систему через встроенный менеджер файлов, а не просто какой-либо любой файл на сервере).
Country Amiant - Regno All Rianto
Аватара пользователя
Count_Raven
Супермодератор
 
Сообщения: 1156
Зарегистрирован: 06 окт 2010, 15:00
Откуда: Country Amiant

Re: Счётчик кликов по ссылке.

Сообщение dimaho » 05 сен 2014, 17:44 ,  »  Сообщение:#3

На файл скачки. Загрузить файл через менеджер concrete не удалось, по этому поместил в отдельный коталог. И, главное - надо что бы статистика загрузок отображалась рядом с ссылкой.
Аватара пользователя
dimaho
 
Сообщения: 44
Зарегистрирован: 18 фев 2014, 22:46
Откуда: г. Ярославль.

Re: Счётчик кликов по ссылке.

Сообщение Count_Raven » 06 сен 2014, 09:32 ,  »  Сообщение:#4

dimaho писал(а):На файл скачки. Загрузить файл через менеджер concrete не удалось, по этому поместил в отдельный коталог. И, главное - надо что бы статистика загрузок отображалась рядом с ссылкой.

1. Почему не удалось через менеджер Concrete5? Это бы решило множество проблем, так как там куча готовых инструментов для работы с файлами.
2. Если просто левый файл на сервере, то это уже надо писать своё дополнение для Concrete5, которое будет выводить специальную ссылку через себя и записывать в базу доступ к файлу по этой ссылке. Но это тупое изобретение велосипеда. Зачем это делать, когда всё уже есть внутри Concrete5. Решайте проблему под номером 1.
Country Amiant - Regno All Rianto
Аватара пользователя
Count_Raven
Супермодератор
 
Сообщения: 1156
Зарегистрирован: 06 окт 2010, 15:00
Откуда: Country Amiant

Re: Счётчик кликов по ссылке.

Сообщение dimaho » 07 сен 2014, 23:45 ,  »  Сообщение:#5

Ну не в какую не загружаются файлы!!! Два EXEшных файла (приложения). Один, примерно 9, другой 12 мегов. Очень пользуются популярностью у посетителей. Примерно 150 000 загрузок было только до того, как сайт перевёл на Concrete. Сейчас не знаю сколько (((
P.S. Менеджер пишет, что недопустимый тип файла.
ещё P.S. Файлы - cамораспаковывающийся архив WinRar, а другой- то же cамораспаковывающийся архив, но в каком приложении сделан, не знаю, так как его не я делал.
Аватара пользователя
dimaho
 
Сообщения: 44
Зарегистрирован: 18 фев 2014, 22:46
Откуда: г. Ярославль.

Re: Счётчик кликов по ссылке.

Сообщение guyasyou » 07 сен 2014, 23:53 ,  »  Сообщение:#6

dimaho писал(а):Менеджер пишет, что недопустимый тип файла.

Вот и ответ...
По ссылке MySite.ru/index.php/dashboard/system/permissions/file_types/ можно добавить .exe типы в разрешенные.
www.pure-web.ru - fullstack разработка сайтов и веб-приложений
Аватара пользователя
guyasyou
Администратор
 
Сообщения: 559
Зарегистрирован: 05 янв 2012, 12:29
Откуда: Новосибирск

Re: Счётчик кликов по ссылке.

Сообщение Count_Raven » 07 сен 2014, 23:59 ,  »  Сообщение:#7

dimaho писал(а):Ну не в какую не загружаются файлы!!! Два EXEшных файла (приложения). Один, примерно 9, другой 12 мегов. Очень пользуются популярностью у посетителей. Примерно 150 000 загрузок было только до того, как сайт перевёл на Concrete. Сейчас не знаю сколько (((
P.S. Менеджер пишет, что недопустимый тип файла.
ещё P.S. Файлы - cамораспаковывающийся архив WinRar, а другой- то же cамораспаковывающийся архив, но в каком приложении сделан, не знаю, так как его не я делал.

Вот с этого надо было начинать ;)
Guyasyou уже ответил. В настройках введите в поле расширения файлов, которые будут разрешены к загрузке.
Country Amiant - Regno All Rianto
Аватара пользователя
Count_Raven
Супермодератор
 
Сообщения: 1156
Зарегистрирован: 06 окт 2010, 15:00
Откуда: Country Amiant

Re: Счётчик кликов по ссылке.

Сообщение dimaho » 08 сен 2014, 01:59 ,  »  Сообщение:#8

СПАСИБО!!! )
Завтра так и сделаю. А что бы кол-во загрузок отображалось на стр. можно сделать?

Как вам тут репутацию то повысить? Или "спасибо" сказать? Не кто ведь, кроме вас на мои вопросы не отвечает…
Аватара пользователя
dimaho
 
Сообщения: 44
Зарегистрирован: 18 фев 2014, 22:46
Откуда: г. Ярославль.

Re: Счётчик кликов по ссылке.

Сообщение dimaho » 08 сен 2014, 02:30 ,  »  Сообщение:#9

Загрузил уже :D
…файлы через менеджер.
Аватара пользователя
dimaho
 
Сообщения: 44
Зарегистрирован: 18 фев 2014, 22:46
Откуда: г. Ярославль.

Re: Счётчик кликов по ссылке.

Сообщение cmsservice » 08 сен 2014, 09:22 ,  »  Сообщение:#10

dimaho писал(а):А что бы кол-во загрузок отображалось на стр. можно сделать?

Смотря как ссылки на файлы делаете. Если с помощью модуля Файл (File), то для него можно сделать отдельный template (надеюсь знаете как, если нет, то спрашивайте, объясним). Туда из контроллера передается объект типа File (переменная $fo), вот у него можно взять количество загрузок так
Код: Выделить всё
$fo->getTotalDownloads() 

Как оформить вывод, это уже ваше дело :)
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

Re: Счётчик кликов по ссылке.

Сообщение dimaho » 08 сен 2014, 23:14 ,  »  Сообщение:#11

Вообще не понял о чём Вы говорите.( Я в php вобще НОЛЬ! Одно дело- готовый код переделать, а другое- самому что то написать!( Подскажите пожалуйста, как сделать то?

P.S. Ссылку делаю с помощью модуля Файл. Как сделать отдельный template - не знаю. Подскажите пожалуйста. Ссылок для скачивания будет несколько на разных страницах. Ведь, если кол-во скачиваний отображается в менеджере загрузок, значит его можно как то инклюдить и на страницу с ссылкой? Так? Только надо знать переменную, которая показывает кол-во загр. именно этого файла? для этого нужно хорошо знать структуру concrete. Я не знаю.
Аватара пользователя
dimaho
 
Сообщения: 44
Зарегистрирован: 18 фев 2014, 22:46
Откуда: г. Ярославль.

Re: Счётчик кликов по ссылке.

Сообщение Count_Raven » 09 сен 2014, 09:55 ,  »  Сообщение:#12

dimaho писал(а):Вообще не понял о чём Вы говорите.( Я в php вобще НОЛЬ! Одно дело- готовый код переделать, а другое- самому что то написать!( Подскажите пожалуйста, как сделать то?

P.S. Ссылку делаю с помощью модуля Файл. Как сделать отдельный template - не знаю. Подскажите пожалуйста. Ссылок для скачивания будет несколько на разных страницах. Ведь, если кол-во скачиваний отображается в менеджере загрузок, значит его можно как то инклюдить и на страницу с ссылкой? Так? Только надо знать переменную, которая показывает кол-во загр. именно этого файла? для этого нужно хорошо знать структуру concrete. Я не знаю.

Ну, не надо особо ничего знать.
В общем делаем так:
1. Создайте папку(и) /blocks/file/templates
2. Скопируйте файл /concrete/blocks/file/view.php в вашу новую папку /blocks/file/templates и переименуйте этот новый файл во что-нибудь типа downloads_count.php
В итоге у вас должен быть файл по такому пути: /blocks/file/templates/downloads_count.php
3. Откройте его в редакторе и немного измените код. В итоге должен получиться вот такой:
Код: Выделить всё
<?php   defined('C5_EXECUTE') or die("Access Denied.");
   $f = $controller->getFileObject();
   $fp = new Permissions($f);
   if ($fp->canViewFile()) {
      $c = Page::getCurrentPage();
      if($c instanceof Page) {
         $cID = $c->getCollectionID();
      }
?>
<a href="<?php echo  View::url('/download_file', $controller->getFileID(),$cID) ?>"><?php echo  stripslashes($controller->getLinkText()) ?></a>
<span>(Скачано <?php echo $f->getTotalDownloads(); ?> раз)</span>
 
<?php
}
?>

4. Теперь в Concrete5 перейдите в режим редактирования страницы, кликните на ваш блок с файлом и в появившемся меню выберите "Оформление". Там в окне в списке выберите наш "Downloads Count". Все. Сохраните. Готово.
5. Экспериментируйте над оформлением. Сам шаблон я вам сделал. Что и как будет выглядеть дальше это уже ваше дело.
Country Amiant - Regno All Rianto
Аватара пользователя
Count_Raven
Супермодератор
 
Сообщения: 1156
Зарегистрирован: 06 окт 2010, 15:00
Откуда: Country Amiant

Re: Счётчик кликов по ссылке.

Сообщение dimaho » 10 сен 2014, 00:53 ,  »  Сообщение:#13

СПАСИБО!!! Вообще всё замечательно! Только вот огорчает, что не обновляется кол-во при каждой загрузке. обновилось только после очистки кэша. Это нормально, или я накасячил? Вот код переделаный:
Код: Выделить всё
<?php   defined('C5_EXECUTE') or die("Access Denied.");
   $f = $controller->getFileObject();
   $fp = new Permissions($f);
   $b = 222;
   if ($fp->canViewFile()) {
      $c = Page::getCurrentPage();
      if($c instanceof Page) {
         $cID = $c->getCollectionID();
      }
?>
<a href="<?php echo  View::url('/download_file', $controller->getFileID(),$cID) ?>"><?php echo  stripslashes($controller->getLinkText()) ?></a>
<span STYLE=";font-size: 15px; color:#000099"><br>&#160;&#8226;<u>Загружено <?php echo $b+$f->getTotalDownloads();?> раз.</u>&#8226;</span>
<?php
}
?>
Аватара пользователя
dimaho
 
Сообщения: 44
Зарегистрирован: 18 фев 2014, 22:46
Откуда: г. Ярославль.

Re: Счётчик кликов по ссылке.

Сообщение cmsservice » 10 сен 2014, 10:15 ,  »  Сообщение:#14

dimaho писал(а):Только вот огорчает, что не обновляется кол-во при каждой загрузке.

Это нормально ибо чтобы обновилось на экране, счетчик должен перечитаться. То что посетительль нажал на ссылку не вызывает перезагрузки страницы. Это все можно реализовать, но боюсь для Вас это будет сделать не легко (сами же сказали что не программируете), да и нужна ли эта "рюшечка"

dimaho писал(а):обновилось только после очистки кэша. Это нормально, или я накасячил?

Ну как сказать, т.е. поведение предсказуемое. Чтобы от кэша не зависело, можно подправить параметры в контроллере модуля File. Т.е. кладете в /blocks/file файл /concrete/blocks/file/controller.php и меняете в нем содержимое на такое

Код: Выделить всё
<?php
   defined('C5_EXECUTE') or die("Access Denied.");
   
   class FileBlockController extends Concrete5_Controller_Block_File {
      protected $btCacheBlockOutput = false;
      protected $btCacheBlockOutputOnPost = false;
      protected $btCacheBlockOutputForRegisteredUsers = false;
   }
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

Re: Счётчик кликов по ссылке.

Сообщение dimaho » 10 сен 2014, 23:27 ,  »  Сообщение:#15

Теперь вообще всё замечательно! СПАСИБО!!! :D
Летом закажу майку с надписью:
I LOVE CONCRETE5! ;)
Аватара пользователя
dimaho
 
Сообщения: 44
Зарегистрирован: 18 фев 2014, 22:46
Откуда: г. Ярославль.

След.

Вернуться в Помощь по concrete5

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

cron