Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.22 veröffentlicht (31.12.19)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Links der gleichen Domain im gleichen Fenster öffnen
#1
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
Zitieren
#2
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.....
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#3
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\"";

Zitieren
#4
Vielen Dank. Hab den Code geändert und ergänzt und es funktioniert einwandfrei.
Vielen Dank. Ihr Jungs seid echt cool drauf.
Zitieren
#5
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
PHP-Code:
$nofollow ''
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.
Wer fragt, ist gegebenenfalls für fünf Minuten ein Narr. Wer nicht fragt, bleibt ein Narr.
Wer will sucht Wege; Wer nicht will sucht Gründe!
Aktive Version: MyBB: 1.8.22 | PHP: 7.2.24 | SQL: 5.7.28
Zitieren
#6
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.
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#7
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.
Wer fragt, ist gegebenenfalls für fünf Minuten ein Narr. Wer nicht fragt, bleibt ein Narr.
Wer will sucht Wege; Wer nicht will sucht Gründe!
Aktive Version: MyBB: 1.8.22 | PHP: 7.2.24 | SQL: 5.7.28
Zitieren
#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? Wink
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#9
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.
Wer fragt, ist gegebenenfalls für fünf Minuten ein Narr. Wer nicht fragt, bleibt ein Narr.
Wer will sucht Wege; Wer nicht will sucht Gründe!
Aktive Version: MyBB: 1.8.22 | PHP: 7.2.24 | SQL: 5.7.28
Zitieren
#10
(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. Wink
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Massen E-Mail bei gleichen E-Mailadressen navis 2 730 23.08.2016, 15:31
Letzter Beitrag: navis
  You are not allowed to use the domain gmx.de as a sender domain. Buggyboy 12 1.968 12.08.2015, 17:46
Letzter Beitrag: Buggyboy
  Externen Link im Header nicht im selben Fenster öffnen Schwelmer 12 1.383 06.07.2015, 12:24
Letzter Beitrag: Schwelmer