Surcharger un élément de libraries

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Surcharger un élément de libraries

    Bonjour,

    On peut surcharger (redéfinir, réécrire, "override") des fichiers des dossiers components, layout et modules dans le dossier templates.
    On peut aussi surcharger des traductions (langues) via interface d'administration.

    Mais peut-on surcharger une fonction définie dans libraries ? J'aimerais redéfinir la méthode JHtmlEmail::cloak() car l'originale ne me convient pas, sans toucher au code original pour éviter l'écrasement en cas de mise à jour.

  • #2
    Re : Surcharger un élément de libraries

    Hello.

    Cas intéressant, mais il faut avoir le besoin !

    Le cas est traité à la page 182 du bouquin 'Joomla Programming' de Mark Dexter (je viens de vérifier) par un plugin "system".

    Regarde :
    Dernière édition par roland_d_alsace à 03/12/2015, 15h06
    A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
    Rejoignez le Joomla Users Groupe Alsace...
    roland_d_alsace va-t-il devenir roland_du_grand_est ?

    Commentaire


    • #3
      Re : Surcharger un élément de libraries

      Merci viel mols Roland.
      Pourquoi j'en ai besoin : la méthode JHtmlEmail::cloak() détecte les adresses de courriel et les remplace par un texte générique, lequel est remplacé par l'adresse en Javascript. Ainsi, elle est indétectable par les robots spammeurs qui ne comprennent pas le JS. Mais du coup, l'e-mail est inaccessible aux navigateurs sans JS, alternatifs, handicapés...

      Ma fonction remplace l'adresse utilisateur@example.com par utilisateurCHEZexamplePOINTcom pour un navigateur sans JS. Ainsi le robot est perdu mais l'humain comprend. Ça reste accessible.

      Je la publierai ici quand j'aurai résolu le problème, grâce à tes liens. Mais pas tout de suite car j'ai quelques urgences à traiter d'abord.

      Commentaire


      • #4
        Re : Surcharger un élément de libraries

        Ne peut-on pas dédier un plugin pour ce type de modification, avec surcharge de cloaking ?
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        Commentaire


        • #5
          Re : Surcharger un élément de libraries

          Envoyé par RobertG Voir le message
          Ne peut-on pas dédier un plugin pour ce type de modification, avec surcharge de cloaking ?
          Hello Robert.

          C'est la méthode qui est expliqué par Mark Dexter dans le bouquin 'Joomla Programming' que j'évoque en #2 (via un plugin system).
          A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
          Rejoignez le Joomla Users Groupe Alsace...
          roland_d_alsace va-t-il devenir roland_du_grand_est ?

          Commentaire


          • #6
            Re : Surcharger un élément de libraries

            OK, je n'étais pas allé voir ton lien.
            "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
            MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

            Commentaire


            • #7
              Re : Surcharger un élément de libraries

              Envoyé par nagadoudi Voir le message
              Merci viel mols Roland.
              Pourquoi j'en ai besoin : la méthode JHtmlEmail::cloak() détecte les adresses de courriel et les remplace par un texte générique, lequel est remplacé par l'adresse en Javascript. Ainsi, elle est indétectable par les robots spammeurs qui ne comprennent pas le JS. Mais du coup, l'e-mail est inaccessible aux navigateurs sans JS, alternatifs, handicapés...

              Ma fonction remplace l'adresse utilisateur@example.com par utilisateurCHEZexamplePOINTcom pour un navigateur sans JS. Ainsi le robot est perdu mais l'humain comprend. Ça reste accessible.

              Je la publierai ici quand j'aurai résolu le problème, grâce à tes liens. Mais pas tout de suite car j'ai quelques urgences à traiter d'abord.
              Hello.

              Tu peux aussi reprendre le html avant l'envoi, via un plugin capturant l'évènement 'onBeforeRender'.

              Inspire toi de ce qu'a fait NoNumbers par exemple dans ReReplacer...

              Si tu es "fortiche" en expressions régulières, tu n'as même rien à développer.
              Tu dois pouvoir directement utiliser ReReplacer pour le faire je pense (et en paramétrant le plugin contenu/protection des emails en mode texte sans lien).

              Tu peux aussi tout simplement réécrire ce plugin à 'ta sauce' (et désactiver celui d'origine Joomla).

              Dans tous les cas, c'est une action sur le contenu que tu veux faire.
              C'est donc via un plugin que tu dois agir.
              Dernière édition par roland_d_alsace à 04/12/2015, 12h13
              A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
              Rejoignez le Joomla Users Groupe Alsace...
              roland_d_alsace va-t-il devenir roland_du_grand_est ?

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X