Add CKAN 2.0 resource download event tracking
This commit is contained in:
parent
58693e9d26
commit
70dc8c78d4
|
@ -0,0 +1,15 @@
|
||||||
|
// Add Google Analytics Event Tracking to resource download links.
|
||||||
|
this.ckan.module('google-analytics', function(jQuery, _) {
|
||||||
|
return {
|
||||||
|
options: {
|
||||||
|
googleanalytics_resource_prefix: ''
|
||||||
|
},
|
||||||
|
initialize: function() {
|
||||||
|
resource_prefix = this.options.googleanalytics_resource_prefix;
|
||||||
|
jQuery('a.resource-url-analytics').on('click', function(){
|
||||||
|
resource_url = resource_prefix + encodeURIComponent(this.href);
|
||||||
|
_gaq.push(['_trackPageview', resource_url]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
|
@ -38,14 +38,22 @@ class GoogleAnalyticsPlugin(p.SingletonPlugin):
|
||||||
self.googleanalytics_javascript_url = h.url_for_static(
|
self.googleanalytics_javascript_url = h.url_for_static(
|
||||||
'/scripts/ckanext-googleanalytics.js')
|
'/scripts/ckanext-googleanalytics.js')
|
||||||
|
|
||||||
self.googleanalytics_resource_prefix = config.get(
|
# If resource_prefix is not in config file then write the default value
|
||||||
'googleanalytics.resource_prefix', commands.DEFAULT_RESOURCE_URL_TAG)
|
# to the config dict, otherwise templates seem to get 'true' when they
|
||||||
|
# try to read resource_prefix from config.
|
||||||
|
if 'googleanalytics.resource_prefix' not in config:
|
||||||
|
config['googleanalytics.resource_prefix'] = (
|
||||||
|
commands.DEFAULT_RESOURCE_URL_TAG)
|
||||||
|
self.googleanalytics_resource_prefix = config[
|
||||||
|
'googleanalytics.resource_prefix']
|
||||||
|
|
||||||
self.show_downloads = converters.asbool(
|
self.show_downloads = converters.asbool(
|
||||||
config.get('googleanalytics.show_downloads', True))
|
config.get('googleanalytics.show_downloads', True))
|
||||||
self.track_events = converters.asbool(
|
self.track_events = converters.asbool(
|
||||||
config.get('googleanalytics.track_events', False))
|
config.get('googleanalytics.track_events', False))
|
||||||
|
|
||||||
|
p.toolkit.add_resource('fanstatic_library', 'ckanext-googleanalytics')
|
||||||
|
|
||||||
def update_config(self, config):
|
def update_config(self, config):
|
||||||
'''Change the CKAN (Pylons) environment configuration.
|
'''Change the CKAN (Pylons) environment configuration.
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,10 @@
|
||||||
|
|
||||||
{% block scripts %}
|
{% block scripts %}
|
||||||
{{ super() }}
|
{{ super() }}
|
||||||
{% block googleanalytics_footer %}
|
{% block googleanalytics_event_tracking %}
|
||||||
{{ h.googleanalytics_footer() }}
|
{% resource 'ckanext-googleanalytics/googleanalytics_event_tracking.js' %}
|
||||||
|
<div class="js-hide" data-module="google-analytics"
|
||||||
|
data-module-googleanalytics_resource_prefix="{{ config['googleanalytics.resource_prefix'] }}">
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
Loading…
Reference in New Issue