Beiträge: 297
Themen: 63
Registriert seit: 08.03.2017
MyBB-Version: 1.8.14
Hallo an alle,
es passiert manchmal, dass jemand in einem Thread einen Link auf einen anderen Thread setzt.
Nun ist es ja so eingestellt, dass Links automatisch in einem neuen Fenster oder neuem Tab geöffnet werden.
Gibt es die Möglichkeit, dass NUR Links der gleichen Domain wie es die Forendomain ist, im gleichen Fenster zu öffnen?
Vielen Dank
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Ich weiß nicht, ob es dafür evtl. ein Plugin gibt, aber ich meine mich zu erinnern, dass ich mal etwas ähnliches vor vielen Jahren mit einer Anpassung der class_parser.php vorgenommen haben. Vor dem Parsen der URL müsste eine Abfrage erfolgen, ob sich die URL auf die eigene Domain bezieht oder eben nicht. Dann kann man dafür die entsprechende Umsetzung vornehmen.....
Beiträge: 1.401
Themen: 25
Registriert seit: 11.10.2013
MyBB-Version: 1.8.*
Ein Plugin dafür habe ich bislang auch noch nicht gesichtet - du müsstest (wie von Jockl geschrieben) händische Änderungen in der
inc/class_parser.php und dem Theme Template
mycode_url vornehmen.
Änderungen des Templates "mycode_url"
Ersetze den kompletten Inhalt des Templates durch:
Code:
<a href="{$url}"{$target}{$nofollow} class="mycode_url">{$name}</a>
Änderungen der Datei "inc/class_parser.php"
Suche nach (#1053):
PHP-Code:
$nofollow = '';
if(!empty($this->options['nofollow_on']))
{
$nofollow = " rel=\"nofollow\"";
}
Füge direkt darüber folgendes ein:
PHP-Code:
$target = " target=\"_blank\"";
if(strpos($url, $_SERVER['SERVER_NAME']))
{
$target = " target=\"_self\"";
}
Beiträge: 297
Themen: 63
Registriert seit: 08.03.2017
MyBB-Version: 1.8.14
Vielen Dank. Hab den Code geändert und ergänzt und es funktioniert einwandfrei.
Vielen Dank. Ihr Jungs seid echt cool drauf.
Beiträge: 1.712
Themen: 177
Registriert seit: 08.02.2018
MyBB-Version: 1.8.37
07.07.2018, 19:12
(Dieser Beitrag wurde zuletzt bearbeitet: 07.07.2018, 19:16 von Gerti.)
In der Mybb-Version 1.8.15 ist in der /inc/class_parser.php der vorgenannte Syntax aus dem "
#3" von SvePu nicht zu finden. Zu finden ist ab Zeile 1064
PHP-Code:
if(!empty($this->options['nofollow_on']))
{
$rel = " rel=\"noopener nofollow\"";
}
else
{
$rel = " rel=\"noopener\"";
}
Die erste zeile
ist nicht gegeben und die weitere Definition "
$rel..." lautet anders. Wie muss man vorgehen um vorstehende Änderung auch in der V 1.8.15 verwirlichen zu können?
Danke vorab für Lösungswege.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an! ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools ◀ [
Unixzeit ⇔ Realzeit] ♦ [
BOM-Finder] ♦ [
SQL-Prefix-Changer] ♦ [
USV-Rechner] ♦ [
PlugIns]
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Probiere mal den Code
PHP-Code:
$target = " target=\"_blank\"";
if(strpos($url, $_SERVER['SERVER_NAME']))
{
$target = " target=\"_self\"";
}
vor der
Zeile 1064 der class_parser.php einzusetzen.
Die Änderung der entsprechenden Zeilen in der class_parser.php sind übrigens
hier dokumentiert.
Beiträge: 1.712
Themen: 177
Registriert seit: 08.02.2018
MyBB-Version: 1.8.37
08.07.2018, 10:22
(Dieser Beitrag wurde zuletzt bearbeitet: 08.07.2018, 10:23 von Gerti.)
Habe jedoch vorher der Änderung ein Problem festgestellt welches sich wie folgt auswirkt:
Gebe ich im Beitrag einen Link an, wird nach dem Link ein Zeilenumbruch sowie eine Leerzeile gesetzt.
Linkdefinition im Beitrag:
Code:
Dies ist ein [url=https://example.com]Link[/url] zum anklicken.
Ergebnis:
*****
Dies ist ein Link
zum anklicken.
*****
Mit der Änderung werden jetzt sogar vor dem Link zwei Leerzielen gesetzt.
Ergebnis:
*****
Dies ist ein
Link
zum anklicken.
*****
Korrekt sollte es, wie üblich und bekannt, so angezeigt werden:
*****
Dies ist ein
Link zum anklicken.
*****
Wo zum Teufel hat sich da ein Fehler eingeschlichen? Wie kann ich die Ursache finden? Das Forum ist V 1.8.15 und neu aufgesetzt mit dem Template "Orange14" (bereits in anderen Foren erfolgreich verwendet).
Danke für Tipps und Hinweise.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an! ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools ◀ [
Unixzeit ⇔ Realzeit] ♦ [
BOM-Finder] ♦ [
SQL-Prefix-Changer] ♦ [
USV-Rechner] ♦ [
PlugIns]
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Ich kann das Problem weder im Chrome noch im FF nachvollziehen. Das hat aber auch mit dem Thema "Links der gleichen Domain im gleichen Fenster öffnen" eigentlich nichts mehr zu tun, oder?
Beiträge: 1.712
Themen: 177
Registriert seit: 08.02.2018
MyBB-Version: 1.8.37
08.07.2018, 11:36
(Dieser Beitrag wurde zuletzt bearbeitet: 08.07.2018, 11:36 von Gerti.)
Werde es gerne nochmals neu (gesonderter Beitrag) posten. Beim benannten Fehler handelt es sich um ein neu aufgesetztes Forum welche noch über keine Domain verfügt. (Bei mir Privat als Subdomain zum Vorab einrichten). Sollte zur Fehlersuche ein Zugriff erforderlich sein, muss ich mir wohl eine Lösung einfallen lassen.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an! ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools ◀ [
Unixzeit ⇔ Realzeit] ♦ [
BOM-Finder] ♦ [
SQL-Prefix-Changer] ♦ [
USV-Rechner] ♦ [
PlugIns]
Beiträge: 2.244
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
(25.04.2017, 20:33)SvePu schrieb: Änderungen des Templates "mycode_url"
Ersetze den kompletten Inhalt des Templates durch:
Code:
<a href="{$url}"{$target}{$nofollow} class="mycode_url">{$name}</a>
Ich muss dieses Thema nochmal ausgraben, da ich eben selbst darüber gestolpert bin.
Mittlerweile muss das Template wie folgt aussehen:
Code:
<a href="{$url}"{$target}{$rel} class="mycode_url">{$name}</a>
Das setzt zwar auch bei target="_self" ein rel="noopener" - ist aber besser, als gar nicht.