Seite 1 von 1

Externe Links

Verfasst: 7. Mai 2010, 22:03
von Races
Kann man die Forensoftware so einstellen, dass sich beim Klicken auf externe Links ein neues Browserfenster öffnet ?

Re: Externe Links

Verfasst: 8. Mai 2010, 09:07
von alex0469
einstellen geht nicht ich muß mal in den Quellcode schauen --- mal sehen wie ich Sonntag dazu komme mal noch ein paar so Kleinigkeiten zu richten.

Gruß Alex

Re: Externe Links

Verfasst: 8. Mai 2010, 15:03
von Matthias_K.
In phpBB2 wurden externe Links noch brav in einem neuen Browserfenster geöffnet. Dieses Verhalten wurde mittlerweile in phpBB3 geändert, was viele Leute nicht richtig nachvollziehen können. Der Hauptgrund für die Abschaffung dieser Funktion ist die Kompatibilität zum XHTML 1.0 Strict Standard, in dem das bekannte HTML-Element target="_blank" nicht mehr erlaubt ist. Und wenn man einmal darüber nachdenkt, ist dies auch sinnvoll, denn warum soll man dem Leser vorschreiben, dass ein Link in einem neuen Fenster geöffnet wird. Moderne Browser bieten einfache Tastenkombinationen an, mithilfe dessen der Leser selbst entscheiden kann, ob er den Link in einem neuen Browserfenster öffnen möchte.



Aber der Mensch ist schließlich ein Gewohnheitstier und so wird diese Funktion oftmals zurückgefordert. Damit die Links wieder in einem neuen Fenster geöffnet werden, muss man folgendermaßen vorgehen:
Anleitung
1.) Öffne die Datei includes/functions_content.php



Finde folgenden Code

$html = "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append";

Ersetzen diesen durch folgenden Code

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";
}
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";
}

2.) Öffne die Datei bbcode.html in Deinem Style



Finde folgenden Code

<!-- BEGIN url --><a href="{URL}" class="postlink">{DESCRIPTION}</a><!-- END url -->

Ersetze diesen durch folgenden Code

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


3.) Öffne die Datei includes/functions.php



Finde diesen Code

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',
);

Ersetze diesen durch folgenden Code

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',
);

Anschließend noch den Cache leeren. That's it!