Как сделать?
#1
19 июля 2014 в 14:41
Привет. Подскажите как реализовать счетчик скачивания файлов?
#2
19 июля 2014 в 14:46
Подскажите как реализовать счетчик скачивания файлов?
— он уже реализован в системе и нормально работает…
( для более развернутого ответа не хватает информации в вопросе )
#3
21 июля 2014 в 13:13
• Mike •, как вывести показатель на странице?
Сегодня в 02:47
#4
21 июля 2014 в 14:29
Вадим Нарочный, Чтобы вам отвечали достаточно корректно, подробно, по теме и так далее, нужно всего лишь правильно и развёрнуто формулировать свои мысли. Например в вашем случае — возникает много допвопросов, не зная ответов на которые просто нечего сказать вам.
1) Версия системы?
2) Куда выводить/на какой странице?
3) Вам нужен модуль, или вы хотите вписать в каждую страничку сайта циферки скачивания?
В общем, конкретизируйте пожалуйста.
1) Версия системы?
2) Куда выводить/на какой странице?
3) Вам нужен модуль, или вы хотите вписать в каждую страничку сайта циферки скачивания?
В общем, конкретизируйте пожалуйста.
#5
21 июля 2014 в 14:50
Raiden, зачем? Все и так должны понимать что я хочу — instantcms.ru/forum/thread18944-1.html
#6
21 июля 2014 в 15:14
Блондинка приезжает в автосервис. Механик:
— Что сломалось?
Блондинка:
— Я в сервис приехала или куда? Это вы должны знать, что в машине чинить надо!
— Что сломалось?
Блондинка:
— Я в сервис приехала или куда? Это вы должны знать, что в машине чинить надо!
#7
21 июля 2014 в 15:20
В общем, надо ввести предложение, перед созданием темы реализовать вывод справки "для чайников", как правильно писать Не ссылка на правила, а именно большими буквами — пишите развёрнуто и со смыслом!
#8
21 июля 2014 в 18:44
Сколько много остряков.
В контенте (в любом) создаю поле файловое, загружаю файл. На странице с материалом, нужно вывести количество скачиваний?
Есть ещё вопросы?
В контенте (в любом) создаю поле файловое, загружаю файл. На странице с материалом, нужно вывести количество скачиваний?
Есть ещё вопросы?
#9
16 декабря 2014 в 17:27
• Mike •, подскажите пожалуйста, для второй ветки, нужно вывести счетчик скачиваний файла в записи и в списке. Реализована ли данная функция в двойке?
#10
18 ноября 2015 в 18:46
• Mike •, подскажите пожалуйста, для второй ветки, нужно вывести счетчик скачиваний файла в записи и в списке. Реализована ли данная функция в двойке?
Ап
#11
25 декабря 2015 в 00:09
Ап для двойки
#12
25 декабря 2015 в 00:55
Поменяйте код в файле system/fields/file.php на нижеследующий и будет вам счастье )
<?php class fieldFile extends cmsFormField { public $title = LANG_PARSER_FILE; public $sql = 'text'; public function getOptions(){ 'title' => LANG_PARSER_FILE_LABEL, 'default' => 1, 0 => LANG_PARSER_FILE_LABEL_GET, 1 => LANG_PARSER_FILE_LABEL_NAME, ) )), 'title' => LANG_PARSER_FILE_EXTS, 'hint' => LANG_PARSER_FILE_EXTS_HINT )), 'title' => LANG_PARSER_FILE_MAX_SIZE, )), 'title' => LANG_PARSER_FILE_SHOW_SIZE, )), 'title' => 'Показывать счетчик скачиваний', //Patch file counter )), //Patch file counter ); } public function parse($value){ $files_model = cmsCore::getModel('files'); //Patch file counter $get_file = $files_model->getFile($file['id']); //Patch file counter $file['counter'] = $get_file['counter']; //Patch file counter if (!$file){ return; } $name = $this->getOption('show_name') ? $file['name'] : LANG_PARSER_FILE_LABEL_GET; $size_info = $this->getOption('show_size') ? '<span class="size">' . files_format_bytes($file['size']).'</span>' : ''; $counter_info = $this->getOption('show_counter') ? '<span class="size">Скачиваний: ' . $file['counter'] . '</span>' : ''; //Patch file counter return '<a href="'.$this->getDownloadURL($file).'">'.$name.'</a> ' . $size_info . $counter_info; } public function getStringValue($value){ if (!$file){ return false; } $name = $this->getOption('show_name') ? $file['name'] : LANG_PARSER_FILE_LABEL_GET; return $name; } public function getDownloadURL($file){ } public function store($value, $is_submitted, $old_value=null){ $config = cmsConfig::getInstance(); $files_model = cmsCore::getModel('files'); if ($value){ $file = cmsModel::yamlToArray($old_value); $path = $config->upload_path . $file['path']; $files_model->deleteFile($file['id']); $old_value = null; } $uploader = new cmsUploader(); if (!$uploader->isUploaded($this->name)){ return $old_value; } $allowed_extensions = $this->getOption('extensions'); $max_size_mb = $this->getOption('max_size_mb'); if (!$max_size_mb) { $max_size_mb = 0; } $result = $uploader->upload($this->name, $allowed_extensions, $max_size_mb * 1048576); if (!$result['success']){ $uploader->remove($result['path']); } cmsUser::addSessionMessage($result['error'], 'error'); return null; } $file = $files_model->registerFile($result['url'], $result['name']); 'id' => $file['id'], 'url_key' => $file['url_key'], 'name' => $result['name'], 'size' => $result['size'], 'path' => $result['url'] ); } public function getFilterInput($value=false) { return html_checkbox($this->name, (bool)$value); } public function applyFilter($model, $value) { return $model->filterNotNull($this->name); } public function getInput($value){ $this->data['allowed_extensions'] = $this->getOption('extensions'); $this->data['max_size_mb'] = $this->getOption('max_size_mb'); if($this->data['max_size_mb']){ $this->data['max_size_mb'] *= 1048576; }else{ } return parent::getInput($value); } }