En créant mon nouveau site et avec le recul sur ma consommation des statistiques Google Analytics de mon ancien site webla.fr, j'ai décidé d'être très sobre et de n'utiliser que le module de statistiques fourni avec le cœur de Drupal (8).
Le module Statistics est assez limité : il compte le nombre d'affichages de chaque contenu et affiche le décompte en bas de page...
Je voulais donc compléter ça d'une vue d'ensemble, pouvoir filtrer par type de contenu et trier par popularité. J'ai donc créé une vue qui pourrait servir à d'autres.
Elle s'intègre dans le menu "Contenu" sous forme d'onglet :
Voici son export, sans configuration spécifique, donc compatible avec n'importe quel Drupal 8, mais avec quelques libellés en français.
Pour l'installer, collez le code suivant dans "Configuration > Développement > Synchronisation de configuration > Importer".
uuid: 061e0caa-7ad3-424e-8e4a-35b2ca9d205d
langcode: fr
status: true
dependencies:
module:
- node
- statistics
- user
id: statistics
label: Statistics
module: views
description: 'Vue custom pour présenter les statistiques'
tag: ''
base_table: node_field_data
base_field: nid
core: 8.x
display:
default:
display_plugin: default
id: default
display_title: Master
position: 0
display_options:
access:
type: perm
options:
perm: 'view post access counter'
cache:
type: none
options: { }
query:
type: views_query
options:
disable_sql_rewrite: false
distinct: false
replica: false
query_comment: ''
query_tags: { }
exposed_form:
type: basic
options:
submit_button: Appliquer
reset_button: false
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
expose_sort_order: true
sort_asc_label: Asc
sort_desc_label: Desc
pager:
type: mini
options:
items_per_page: 300
offset: 0
id: 0
total_pages: null
expose:
items_per_page: false
items_per_page_label: 'Éléments par page'
items_per_page_options: '5, 10, 25, 50'
items_per_page_options_all: false
items_per_page_options_all_label: '- Tout -'
offset: false
offset_label: Décalage
tags:
previous: ‹‹
next: ››
style:
type: table
options:
grouping: { }
row_class: ''
default_row_class: true
override: true
sticky: false
caption: ''
summary: ''
description: ''
columns:
title: title
type: type
created: created
timestamp: timestamp
daycount: daycount
totalcount: totalcount
info:
title:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
type:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
created:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
timestamp:
sortable: true
default_sort_order: desc
align: ''
separator: ''
empty_column: false
responsive: ''
daycount:
sortable: true
default_sort_order: desc
align: ''
separator: ''
empty_column: false
responsive: ''
totalcount:
sortable: true
default_sort_order: desc
align: ''
separator: ''
empty_column: false
responsive: ''
default: totalcount
empty_table: false
row:
type: fields
fields:
title:
id: title
table: node_field_data
field: title
entity_type: node
entity_field: title
alter:
alter_text: false
make_link: false
absolute: false
trim: false
word_boundary: false
ellipsis: false
strip_tags: false
html: false
hide_empty: false
empty_zero: false
settings:
link_to_entity: true
plugin_id: field
relationship: none
group_type: group
admin_label: ''
label: Titre
exclude: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_alter_empty: true
click_sort_column: value
type: string
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
type:
id: type
table: node_field_data
field: type
relationship: none
group_type: group
admin_label: ''
label: Type
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: target_id
type: entity_reference_label
settings:
link: false
group_column: target_id
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
entity_type: node
entity_field: type
plugin_id: field
created:
id: created
table: node_field_data
field: created
relationship: none
group_type: group
admin_label: ''
label: 'Créé le'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: timestamp
settings:
date_format: custom
custom_date_format: d/m/Y
timezone: ''
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
entity_type: node
entity_field: created
plugin_id: field
timestamp:
id: timestamp
table: node_counter
field: timestamp
relationship: none
group_type: group
admin_label: ''
label: 'Dernier affichage'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
date_format: 'raw time ago'
custom_date_format: ''
timezone: ''
plugin_id: node_counter_timestamp
daycount:
id: daycount
table: node_counter
field: daycount
relationship: none
group_type: group
admin_label: ''
label: 'Aujourd''hui'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
set_precision: false
precision: 0
decimal: .
separator: ''
format_plural: false
format_plural_string: !!binary MQNAY291bnQ=
prefix: ''
suffix: ' affichages'
plugin_id: statistics_numeric
totalcount:
id: totalcount
table: node_counter
field: totalcount
relationship: none
group_type: group
admin_label: ''
label: Total
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
set_precision: false
precision: 0
decimal: .
separator: ''
format_plural: false
format_plural_string: !!binary MQNAY291bnQ=
prefix: ''
suffix: ' affichages'
plugin_id: statistics_numeric
filters:
status:
id: status
table: node_field_data
field: status
relationship: none
group_type: group
admin_label: ''
operator: '='
value: All
group: 1
exposed: true
expose:
operator_id: ''
label: Publié
description: ''
use_operator: false
operator: status_op
identifier: status
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
is_grouped: false
group_info:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
entity_type: node
entity_field: status
plugin_id: boolean
type:
id: type
table: node_field_data
field: type
relationship: none
group_type: group
admin_label: ''
operator: in
value: { }
group: 1
exposed: true
expose:
operator_id: type_op
label: Type
description: ''
use_operator: false
operator: type_op
identifier: type
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
reduce: false
is_grouped: false
group_info:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
entity_type: node
entity_field: type
plugin_id: bundle
sorts: { }
title: Statistiques
header: { }
footer: { }
empty: { }
relationships: { }
arguments: { }
display_extenders: { }
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- url.query_args
- 'user.node_grants:view'
- user.permissions
tags: { }
page_1:
display_plugin: page
id: page_1
display_title: Page
position: 1
display_options:
display_extenders: { }
path: admin/content/statistics
menu:
type: tab
title: Statistiques
description: 'Nombres d''affichages des pages'
expanded: false
parent: ''
weight: 0
context: '0'
menu_name: admin
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- url.query_args
- 'user.node_grants:view'
- user.permissions
tags: { }
Commentaires
Vue Statitistics
Bonjour,
j'ai installé votre contenu , la vue s'affiche bien comme sur votre exemple d'onglet, mais aucune vite n'est enregistrée. J'ai bien le module "statistics"installé et activé. Est-ce un problème d'UID ou autre?
Merci de votre retour.
Pierre
Bonjour Pierre, avez vous…
Bonjour Pierre, avez vous activé les statistiques dans les settings du module (/admin/config/system/statistics) ?
Retour réponse
Bonjour, merci de votre retour.
Comme précisé dans mon premier message, j'ai effectivement coché la case "Compter le nombre d'affichage des contenus" dans Admin, Configuration, Système, Statistiques.
Ma vue statistique s'affiche bien dans Contenu, Statistiques avec les tous les titres présents. Mais aucune visite n'apparait malgré des test de visites depuis des téléphones portables ou autre PC.
retour reponse
Bonjour Cédric,
J'ai trouvé le problème. Merci de n'avoir pas répondu à mon message précédent, ça m' forcé à mettre le nez dans le cambouis.
Bonjour Pierre, ah super, j…
Bonjour Pierre,
ah super, j'avais envisagé d'installer la vue dans une install Drupal vierge mais je n'ai pas trouvé le temps... Est ce que le soucis était dans la vue importée ou ailleurs ?
Magnifique
Bonjour, c'est génial votre vue. Quel excellente idée et travail.
Arnaud
Merci pour le partage. j'ai…
Merci pour le partage. j'ai rencontré le même souci: pas de valeur enregistré. Il y a plusieurs anomalies dans ce module et plusieurs hypothèses à envisager. Dans mon cas c'était l'extension ublock origin qui bloque le tracking. Chez autres, c'est des comportements de cache mal gérés dans le module. Pour info, le module va être déprécié sur Drupal core.
Voilà je voulais partager cette info.
Merci pour le blog.
Merci pour l'info, il va…
Merci pour l'info, il va falloir que je trouve une alternative, j'aime bien ce sobre tableau de bord qui m'indique quels articles sont intéressants.
Ajouter un commentaire