Bug #16590
closedwrong titletext handling in link browser
0%
Description
Le champ de formulaire de type "Link" présente le défaut suivant :
Si on saisi dans le wizard l'url http://www.domaine.com et qu'on renseigne le title toto titi tata et le target Nouvelle fenêtre alors le code enregistré dans la base est le suivant :
www.domaine.com _target toto titi tata
La fonction typo3 à utiliser pour créer un lien à partir de cet enregistremen est "cObj->getTypoLink()". Dans l'exemple ci-dessus, la génération du lien se fait comme suit :
$lien = $this->cObj->getTypoLink ("mon lien","www.domaine.com _target toto titi tata");
voici la code récupéré dans la variable $lien :
<a href="http://www.domaine.com&quot; title="titi" target="_blank" class="toto" >mon lien</a>
ce qui ne correspond pas au résultat souhaité. Il s'agit d'un bug dans Typo3.
Le problème provient d'une fonction Javascript "link_current()" utilisée pour générer le code du lien et de le transférer depuis le wizard vers le formulaire.
La correction est à apporter au niveau du fichier "typo3/class.browse_links.php" dans la fonction "init()" qui gènère les fonctions JS à la ligne 889 :
- Mettre en commentaire la ligne :
var setValue = cur_href+" "+cur_target+" "+cur_title;
- Ajouter à la suite les lignes suivantes qui ajoute la classe maClasse et met le title entre guillemets en l'ayant préalablement nettoyée :
var monTitre = cur_title;
var monTitreNettoye = monTitre.replace(/\"/g,"‘‘");
var setValue = cur_href+" "+cur_target+" maClasse \""+cur_title+"\"";
Avec cette modification, le code du lien obtenue devient :
www.domaine.com _target maClasse "toto titi tata"
qui correspond mieux à la syntaxe attendue par la fonction getTypoLink . Le lien généré est alors :
<a href="http://www.domaine.com" title="toto titi tata" target="_blank" class="maClasse" >mon lien</a>
(issue imported from #M4275)