[3.0.x] Liens s'ouvrant dans une nouvelle fenêtre
Rédigé 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.
NB: Cette astuce ne marche que pour les nouveaux liens, ce n'est pas rétroactif.
» 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 624):
Et remplacez cette ligne par la suivante:
»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:
Et remplacez cette ligne par la suivante:
» 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 * **...
* Pour la version 3.0.9 il faut rechercher ces lignes autour de 3416/3424
** Depuis la version 3.0.10 il faut rechercher ces lignes autour de 3454/3462
** Depuis la version 3.0.11 il faut rechercher ces lignes autour de 3462/3470
Remplacez cette dernière par la suivante:
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.
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.
NB: Cette astuce ne marche que pour les nouveaux liens, ce n'est pas rétroactif.
» 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 624):
- 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 * **...
* Pour la version 3.0.9 il faut rechercher ces lignes autour de 3416/3424
** Depuis la version 3.0.10 il faut rechercher ces lignes autour de 3454/3462
** Depuis la version 3.0.11 il faut rechercher ces lignes autour de 3462/3470
- Code: Tout sélectionner
case 'bbcode_htm':
return array(
'#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
'#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&|\?)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="(.*?)(?:(&|\?)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.