Message d'avertissement

The subscription service is currently unavailable. Please try again later.

Comment utiliser une librairie sur drupal avec un fichier JS

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

J'ai installé sur mon site Drupal 8, le module :

https://github.com/jez500/Private-Message-Messenger

Le développeur explique comment remplacer la date par le temps écoulé :

Improved timestamps

To make the dates on threads and messages look a lot nicer and use a
live XX mins ago style format, you can include the timeago library in
your theme, along with a behaviour that looks like this :

      Drupal.behaviors.timeAgoUpdate = {
        attach: function attach(context) {
          $('.pmm-timestamp', context).once('pmm-timestamp').each(function(){
            timeago().render(this);
          });
        }
      }

J'ai envoyé la librairie dans le dossier :

/libraries

J'ai créé un fichier vide timeago.js dans :

/public_html/web/themes/contrib/bootstrap_subtheme_front_office/js

et j'ai modifié le fichier de mon sous-thème bootstrap_subtheme_front_office.libraries.yml :

    framework:
      css:
        theme:
          fonts/font-awesome/web-fonts-with-css/css/fontawesome-all.css: {}
    #      bootstrap/dist/css/bootstrap.css: {}
    #      css/bootstrap-cosmo.css: {}
          css/style.css: {}
    #      css/style-noel.css: {}
    #      css/style-nouvel-an.css: {}
      js:
        bootstrap/js/affix.js: {}
        bootstrap/js/alert.js: {}
        bootstrap/js/button.js: {}
        bootstrap/js/carousel.js: {}
        bootstrap/js/collapse.js: {}
    #    bootstrap/js/dropdown.js: {}
        bootstrap/js/modal.js: {}
        bootstrap/js/tooltip.js: {}
        bootstrap/js/popover.js: {}
        bootstrap/js/scrollspy.js: {}
        bootstrap/js/tab.js: {}
        bootstrap/js/transition.js: {}
    #    js/tour.js: {}
        js/collapse.js: {}
        js/timeago.js: {}

Je ne connais pas le JS. J'ai essayé en insérant le code suivant dans mon fichier timeago.js et j'ai nettoyé le cache. Mais ça ne fonctionne pas.

    ;(function (Backbone, $, Drupal, drupalSettings, _, Mn) {
   
      Drupal.behaviors.timeAgoUpdate = {
        attach: function attach(context) {
          $('.pmm-timestamp', context).once('pmm-timestamp').each(function(){
            timeago().render(this);
          });
        }
      }
   
    })(Backbone, jQuery, Drupal, drupalSettings, _, Marionette);

Pourquoi ça ne fonctionne pas ?

Avez-vous une idée ?

Version de Drupal :