[Doc] Liens s'ouvrant dans une nouvelle fenêtre

Découvrez ici une liste de documents concernant phpBB: son installation, sa mise à jour et enfin son utilisation.
En bref, apprenez ici à vous servir de phpBB3!

Modérateurs: Equipe, Equipe des Traducteurs

[Doc] Liens s'ouvrant dans une nouvelle fenêtre

Messagede Dakin Quelia le 21 Mai 2008 à 16:56

» Liens s'ouvrant dans une nouvelle fenêtre

Contrairement à phpBB3, phpBB2 ne gérait pas liens de la même façon : en effet, sur l'ancienne version de phpBB, les liens s'ouvraient sur une fenêtre différente. Toutefois, ce procédé n'étant pas valide en xHTML 1.0 Strict - et pour plusieurs autres raisons aussi, phpBB3 a connu une modification dans le comportement de ses liens.

Si vous préférez utiliser la méthode de phpBB2 pour votre forum en phpBB3, ce guide répertorie en détails les modifications à effectuer.


» Modifier les liens automatiques

Première étape, il faut créer des liens auto-détectés (lesquels ne devront pas être entourés du BBCode URL) qui s'ouvrent dans une nouvelle fenêtre lorsqu'on a cliqué dessus. Pour cela, ouvrez le fichier includes/functions_content.php et cherchez la ligne suivante (aux alentours de la ligne 592):

Code: Tout sélectionner
$html    "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append";                               


Et remplacez cette ligne par la suivante:

Code: Tout sélectionner
        if ($type == MAGIC_URL_EMAIL)
        {
            
$html    "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append";    
        }
        else 
        {
            
$html    "$whitespace<!-- $tag --><a$class href=\"$url\" onclick=\"window.open(this.href);return false;\">$text</a><!-- $tag -->$append";
        }                               


»BBCode URL

La prochaine étape consiste à ouvrir le fichier bbcode.html de votre style (si vous utilisez Prosilver, ceci devrait être le fichier styles/prosilver/template/bbcode.html) et cherchez la ligne suivante:

Code: Tout sélectionner
<!-- BEGIN url --><a href="{URL}" class="postlink">{DESCRIPTION}</a><!-- END url -->


Et remplacez cette ligne par la suivante:

Code: Tout sélectionner
<!-- BEGIN url --><a href="{URL}" onclick="window.open(this.href);return false;" class="postlink">{DESCRIPTION}</a><!-- END url -->


» Aidez phpBB à lire de nouveau la production

Enfin, vous devriez aussi faire le changement suivant qui permettra la production en HTML pour être parsé à nouveau par phpBB: Ouvrez le fichier includes/functions.php et remplacez cette partie que vous trouverez autour de la ligne 2740...

Code: Tout sélectionner
          case 'bbcode_htm':
             return array(
                
'#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
                
'#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&amp;|\?)sid=[0-9a-f]{32})?">.*?</a><!\-\- l \-\->#',
                
'#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)">.*?</a><!\-\- \1 \-\->#',
                
'#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#',
                
'#<!\-\- .*? \-\->#s',
                
'#<.*?>#s',
             );        


Remplacez cette dernière par la suivante:

Code: Tout sélectionner
          case 'bbcode_htm':
             return array(
                
'#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
                
'#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&amp;|\?)sid=[0-9a-f]{32})?" onclick="window\.open\(this\.href\);return false;">.*?</a><!\-\- l \-\->#',
                
'#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)" onclick="window\.open\(this\.href\);return false;">.*?</a><!\-\- \1 \-\->#',
                
'#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#',
                
'#<!\-\- .*? \-\->#s',
                
'#<.*?>#s',
             );                             


Une fois votre fichier template mis à jour, n'oubliez pas de vider votre cache par l'intermédiaire du bouton situé sur la page d'accueil de votre panneau d'administration!

Source: Traduction de l'article de phpBB.com.
Avatar de l’utilisateur
Dakin Quelia
Floodeur universel
Floodeur universel
 
Messages: 9832
Inscription: 31 Oct 2006 à 18:33
Localisation: Belgique

Retourner vers [phpBB 3.0.x] Forum de documentation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités

Liens : phpBB.biz • phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB-Services.com • phpBB3 Styles • phpBB podpora • Net Avenir • PromoBenef • Ticket Gagnant •