TYPO3: подсчитайте количество загрузок файлов в версии 7.6.x

#typo3 #typo3-7.6.x

#typo3 #typo3-7.6.x

Вопрос:

Существует ли расширение для подсчета количества загрузок файлов (например, pdf), совместимое с TYPO3 версии 7.6.x?

Для более старых версий это сделали dbdownloadtracker или cc_awstats. Но, к сожалению, они несовместимы с 7.6.x.

Ответ №1:

Я вижу из его документации, что расширение kk_downloader (https://typo3.org/extensions/repository/view/kk_downloader ) имеет функцию «счетчик».

В противном случае, я думаю, вы могли бы что-то настроить с помощью Google Analytics

Ответ №2:

Google Analytics может быть лучшим выбором, и вы не зависите от расширения Typo3. Это работает для любого веб-сайта, Typo3 или нет, но его необходимо загружать после вашего скрипта GA. Статистика отображается как события в Google Analytics, и они сразу же записываются в Google, не нужно ждать несколько часов, чтобы увидеть, как работает статистика.

Он отслеживает загрузки, клики на внешних сайтах, почтовые рассылки и телефоны, по которым нажимали / звонили по ссылкам, если установлено href="tel:(000)000-0000" значение . Вы можете использовать свой собственный формат для телефонов в своем HTML.

Он отслеживает эти расширения файлов: exe, zip, pdf, doc, docx, xls, xlsx, ppt, pptx. Если вам нужно больше типов файлов, просто добавьте в var filetypes список расширения, разделенные каналом.

Убедитесь, что вы используете jQuery или обновили код.

 <script type="text/javascript">
if (typeof jQuery != 'undefined') {
	jQuery(document).ready(function($) {
		var filetypes = /.(exe|zip|pdf|doc*|xls*|ppt*)$/i;
		var baseHref = '';
		if (jQuery('base').attr('href') != undefined) baseHref = jQuery('base').attr('href');
		jQuery('a').each(function() {
			var href = jQuery(this).attr('href');
			if (href amp;amp; (href.match(/^https?:/i)) amp;amp; (!href.match(document.domain))) {
				jQuery(this).click(function() {
					var extLink = href.replace(/^https?:///i, '');
					ga('send', 'event', 'External', 'Click', extLink);
					if (jQuery(this).attr('target') != undefined amp;amp; jQuery(this).attr('target').toLowerCase() != '_blank') {
						setTimeout(function() {
							location.href = href;
						}, 200);
						return false;
					}
				});
			} else if (href amp;amp; href.match(/^mailto:/i)) {
				jQuery(this).click(function() {
					var mailLink = href.replace(/^mailto:/i, '');
					ga('send', 'event', 'Email', 'Click', mailLink);
				});
			} else if (href amp;amp; href.match(/^tel:/i)) {
				jQuery(this).click(function() {
					var phoneLink = href.replace(/^tel:/i, '');
					ga('send', 'event', 'Phone', 'Click', phoneLink);
				});
			} else if (href amp;amp; href.match(filetypes)) {
				jQuery(this).click(function() {
					var extension = (/[.]/.exec(href)) ? /[^.] $/.exec(href) : undefined;
					var filePath = href;
					ga('send', 'event', 'Download', 'Click-'   extension, filePath);
					if (jQuery(this).attr('target') != undefined amp;amp; jQuery(this).attr('target').toLowerCase() != '_blank') {
						setTimeout(function() {
							location.href = baseHref   href;
						}, 200);
						return false;
					}
				});
			}
		});
	});
}
</script>  

Для получения более подробной информации об этом коде, оригинал был найден здесь: http://www.blastam.com/blog/how-to-track-downloads-in-google-analytics , но код в этом ответе использует новое ga событие, а также добавляет отслеживание нажатых телефонов.

После применения этого кода в Google Analytics не забудьте отфильтровать текущий день, поскольку по умолчанию Google выбирает диапазон до позавчерашнего дня.

Надеюсь, это кому-то поможет.