Champ personnalisé URL - Protocole Mailto

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

  • Champ personnalisé URL - Protocole Mailto

    Bonjour,
    j’ai un comportement agaçant avec le champ personnalisé de type URL et le protocole email (mailto).

    - Le champ introduit le préfixe mailto, je voudrais l’enlever, comment s’y prendre?
    - Au moment du click sur l'adresse de l'email, un deuxième onglet est simultanément ouvert avec la fenêtre de mon client mail. À regarder de près dans le code source de la page l’attribut “target” est ajouté, comment l’enlever?

    Merci!

    Lorenzo
    Dernière édition par porcini à 24/10/2018, 21h32

  • #2
    Bonsoir,
    Les captures écran, ça aiderait bien pour bien comprendre ta question

    Le champ introduit le préfixe mailto, je voudrais l’enlever, comment s’y prendre?
    Si tu es en protocole Mailto, c'est normal de mettre ce préfixe devant une adresse mail ... si tu veux l'enlever, ça n'a plus aucun sens !
    Ou alors j'ai mal compris ce que tu veux faire ... d'ailleurs, que veux tu faire EXACTEMENT ?


    - Au moment du click sur l'adresse de l'email, un deuxième onglet est simultanément ouvert avec la fenêtre de mon client mail.
    Tu veux dire une nouvelle fenêtre avec ton client de messagerie plutot , non ?
    C'est le comportement normal du mailto ... c'est un lien qui déclenche l'ouverture de ton logiciel de mail par défaut de ta machine avec l'adresse email transmise en destinataire ...
    Utiliser mailto: sur une page Web pour créer un nouvel e-mail : principe, limites, syntaxe, pré-remplir les champs, etc.
    Dernière édition par manu93fr à 24/10/2018, 22h37
    Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer
    Cette année, le JoomlaDay FR a lieu à Bruxelles, les 20 et 21 mai 2022, plus d'infos et inscriptions : www.joomladay.fr

    Commentaire


    • #3
      Bonsoir,
      ok, je recommence:

      1) Concernant le protocole Mailto, je suis tout à fait d’accord qu’il faut ce préfixe dans l’attribut href du lien, le problème c’est que le champ personnalisé email en met un deuxième entre les balises du lien:




      2) Désolé pour le deuxième point concernant l’ouverture de l’onglet, en effet j’ai omis de préciser qu’il s’agit d’un deuxième onglet du navigateur en plus de l’ouverture de mon client email, donc quand je clique sur l'adresse email un onglet supplémentaire de mon navigateur (Chrome) s’ouvre (une page blanche) en plus de mon client email. Je n'ai pas le même comportement avec Firefox et Safari.
      J’ai trouvé une réponse ici, il s’agirait d’enlever l’attribut “target”, comment y parvenir?
      Il y aurait moyen d’utiliser ReReplacer mais bon c’est encore du chipotage, j’ai vu qu’il y a aussi moyen d’y arriver avec Email Protector (toujours Regular Labs), là aussi il faut chipoter… d'autres solutions?

      Merci!

      Lorenzo

      Commentaire


      • #4
        Salut Lorenzo,

        Si tu veux personnaliser le layout plugin du Custom Field "URL", c'est ce fichier-ci :
        /plugins/fields/url/tmpl/url.php
        où on trouve ceci :

        Code PHP:
        if (!JUri::isInternal($value))
        {
            
        $attributes ' rel="nofollow noopener noreferrer" target="_blank"';
        }

        echo 
        sprintf('<a href="%s"%s>%s</a>',
            
        htmlspecialchars($value),
            
        $attributes,
            
        htmlspecialchars($value)
        ); 
        Evidemment, le code est fait pour marcher aussi bien avec un "http" qu'avec un "mailto". C'est pour ça qu'il affiche en front-end le protocole "mailto"...
        Dans le cas présent, tu pourrais enlever le target="_blank"
        Et pour enlever le protocole à l'affichage, il faudrait transformer le second htmlspecialchars($value) (par exemple avec un regex qui ne garderait que ce qui suit le //).

        NB: le plus propre est bien sûr de faire un override pour ne pas perdre ses adaptations lors des màj (je ne l'ai jamais fait pour un CF, mais ça devrait marcher) :
        Despite being tremendously useful, template overrides for plugins are a type of override that is barely known in Joomla community. There is no way to create this type of override from the Joomla backend. It is a completely manual process. Template overrides for plugins are intended for extensions that output cont


        A vrai dire, moi j'ai eu la flemme et j'ai utilisé Rereplacer (qui était utilisé pour d'autre choses sur le site) pour corriger ce détail.
        Mais si qqun finalise qqch, on pourrait même faire un PullRequest pour le faire changer directement en natif dans Joomla
        porcini aime ceci.
        Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

        Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

        Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

        Commentaire


        • #5
          Bonjour Marc,

          merci pour la réponse....ok pour l'override et enlever le target="_blank", reste problématique sur comment transformer le second htmlspecialchars($value), utiliser un regex ce n'est pas ma tasse de thé

          Commentaire


          • #6
            bah, moi non plus
            Mais en cherchant un peu
            Code PHP:
              $url parse_url($url);   $url $url['host'];  echo $url
            "Simpler and works for http:// https:// ftp:// and almost all prefixes."
            (voir si ça marche avec mailto, sinon chercher sur internet )
            Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

            Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

            Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

            Commentaire


            • #7
              porcini là c'est tout de suite plus claire .... j'ai bien compris ton souci now

              woluweb j'suis pas sur que le bout de code marche pour un "mailto:" car il n'y a pas de "//" dans ce protocole ... a suivre donc
              Dernière édition par manu93fr à 25/10/2018, 09h25
              Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer
              Cette année, le JoomlaDay FR a lieu à Bruxelles, les 20 et 21 mai 2022, plus d'infos et inscriptions : www.joomladay.fr

              Commentaire


              • #8
                ...en effet aucun résultat avec le bout de code de Marc...

                Commentaire


                • #9
                  ben 'faut chercher sur qqch comme "remove protocol php" ou "remove http mailto php regex", ...
                  Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

                  Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

                  Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

                  Commentaire


                  • #10
                    le solution se trouve ici: https://forum.joomla.org/viewtopic.php?t=945870
                    woluweb aime ceci.

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X