dcExternalLinkInNewWindow
Par défaut, les liens externes de Plone n'ont pas d'attribut "target". C'est tout à fait normal puisque cet attribut n'est pas valide selon la norme XHTML 1.0 Strict. Ce produit vous permet d'ouvrir vos liens externes dans une nouvelle fenêtre avec un minimum d'effort.
Introduction
Au moins quatre solutions existent pour faire en sorte que vos liens externes s'ouvrent dans une nouvelle fenêtre :
- Modifier la façon dont Kupu crée les liens en y ajoutant l'attribut target.
- C'est la méthode la plus simple, mais aussi la moins respectueuse des normes. En effet, le code généré n'est plus conforme à la norme XHTML Strict. De plus, cela entraîne la "customisation" d'un fichier sensible de Plone. Cela peut poser problème lors de mises à jour.
- Modifier la façon dont Plone style les liens externes (ie : le JavaScript qui s'en occupe).
- C'est une méthode un peut moins sale que la précédente, car votre code source est conforme. Il reste l'inconvénient que vous "customisez" un fichier de Plone. Encore une fois, cela peut poser problème lors de mise à jour.
- Créer une transformation ajoutant l'attribut target aux liens externes.
- Cette solution a l'inconvénient de rendre non conforme votre code source. Pour des problèmes n'entraînant pas la non-conformité du code XHTML, c'est une très bonne solution.
- Créer un JavaScript indépendant qui ajoute l'attribut target aux liens externes.
- C'est la méthode implémentée par ce produit. C'est la moins pire de celles que j'ai pu imaginer car elle n'est active que si l'utilisateur a activé son javascript, et votre code source reste conforme.
Installation
L'installation de ce produit est simple.
- Téléchargez le fichier joint à cet article,
- Décompressez le fichier dans le répertoire Products de votre instance Zope,
- Installez le produit dans votre site Plone à l'aide du QuickInstaller.
Ce produit a été testé avec Plone 2.1.4 et Plone 2.5.3.
Remarque: Pour aller plus vite, placez-vous dans votre dossier Products et exécutez les commandes suivantes :
wget http://howto.landure.fr/plone/mes-produits/dcexternallinkinnewwindow/dcexternallinkinnewwindow-0-3-tar.gz --output-document=/tmp/dcexternallinkinnewwindow-0-3-tar.gz
tar xfz /tmp/dcexternallinkinnewwindow-0-3-tar.gz