[erledigt] Foreninterne Links im gleichen Frame aufrufen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Inferi74
Mitglied
Beiträge: 93
Registriert: 22.02.2007 18:15

[erledigt] Foreninterne Links im gleichen Frame aufrufen

Beitrag von Inferi74 »

Folgende Situation:
Ich habe einen Navigationsframe (Leiste links) für die Homepage und das Forum sowie andere Seiten der Homepage wird im Hauptframe (rechts) aufgerufen. Als Foren-Style verwende ich "Ad Infinitum 2.0.20.c".

Zur Zeit rufen sich im Forum alle Links innerhalb von Signaturen und Beiträgen in einem neuen Browserfenster auf. Dies ist soweit auch ganz gut, wenn es sich um externe Links handelt.

Jedoch werden auch die Links auf andere Postings innerhalb des Forums in neuen Browserfenstern aufgerufen und das möchte ich verhindern. Also sollen alle Links, die mit meiner URL beginnen innerhalb des gleichen Frames (also ohne irgendwelche Target-Anweisungen) gestartet werden.

Nun weiß ich weder ob das eine Sache des Forums oder des Styles ist, noch wo und geschweige denn wie ich das ändern kann.

Kurz und gut:
Links zur eigenen URL im gleichen Fenster.
Links zu anderen URLs weiterhin in einem neuen Fenster.

Geht das?
Zuletzt geändert von Inferi74 am 08.06.2007 07:01, insgesamt 3-mal geändert.
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

*klick* sollte eigentlich helfen...
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
Inferi74
Mitglied
Beiträge: 93
Registriert: 22.02.2007 18:15

Beitrag von Inferi74 »

Danke für deine Antwort, doch diese Info hatte ich auch schon vor meinem Eintrag gefunden, da ich ja auch schon fleissig im Forum gesucht habe.

In der login_body.tpl von Ad Infinitum 2.0.20.c kommt aber überhaupt kein TARGET-Tag vor. Da gibts wohl Unterschiede zum Sub Silver Style.

Zudem wäre eine generelle Änderung ja auch nicht das was ich wollte, da ich gerne eine Unterscheidung zwischen Links auf die eigene URL und Links auf andere URLs hätte (falls das überhaupt machbar ist).
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Hat das ganze nur einen kosmetischen Hintergrund, dass Du die aufgerufenen Themen ohne Navi siehst?

Falls ja, hast Du mehrere Optionen, das ganze zu regeln:
Entweder
  • Du lädst mit Java-Script die "fehlenden" Frames nach,
    Du liest das hier: KB:navi_links
    oder beschäftigst Dich mit diesem Thread hier -> Klick
Zuletzt geändert von Miriam am 21.05.2007 12:57, insgesamt 1-mal geändert.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Inferi74
Mitglied
Beiträge: 93
Registriert: 22.02.2007 18:15

Beitrag von Inferi74 »

Auch dir Miriam Dank für deine Antwort.

Die Navigation der Homepage (Links, Impressum, Kontakt...) hat nix mit der Foren-Navigation zu tun. Das Forum mit seiner Navigation ist mit allem was dazugehört im Hauptframe und soll auch komplett dort bleiben.

Meine Angaben über Frames können wir auch eigentlich komplett links liegen lassen, denn eigentlich gehts ja nur darum dass interne Links (die mit meiner URL) beginnen nicht in einem extra Fenster geladen werden sollen, sondern im gleichen Fenster in dem sie auch aufgerufen wurden, und externe Links eben nach wie vor in einem extra Fenster.

Im Moment ist es aber so, dass wenn ich von einem Beitrag im Forum zu einem anderen Beitrag im Forum verlinke (also der Link mit meiner eigenen URL beginnt), ein komplett neues Browserfenster öffnet und eben dies möchte ich unterbinden.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Verstehe.

Finde in viewtopic.php

Code: Alles auswählen

	$message = make_clickable($message);
DANACH füge ein:

Code: Alles auswählen

	$url_start = "<a href=\"http://" . $board_config['server_name'] . $board_config['script_path'];
	if (strpos($message, $url_start))
	{
		$message = preg_replace("|(" . $url_start . ")(.*?)(target=\"_blank\")|si", "\\1\\2target=\"_self\"", $message);
	}
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Inferi74
Mitglied
Beiträge: 93
Registriert: 22.02.2007 18:15

Beitrag von Inferi74 »

Danke Miriam.

Das ist prinzipell genau das was ich gesucht habe.

Ich habe aber noch Probleme mit denen ich vorher nicht gerechnet habe, weil ich ja diesen RLink-Mod einsetze (an das Ding hab ich gar nicht mehr gedacht) und somit die URL immer erstmal lokal ist also zum Beispiel:

Code: Alles auswählen

http://www.meine-seite.de/forum/rlink/rlink.php?url=
und danach erst der eigentliche Link losgeht. Daher kommen auch mit deinem Code natürlich auch externe Links im gleichen Browserfenster.

Wenn ich hingegen den den Code der Zeile:

Code: Alles auswählen

$url_start = "<a href=\"http://" . $board_config['server_name'] . $board_config['script_path'];
durch

Code: Alles auswählen

$url_start = "<a href=\"http://www.meine-seite.de/forum/rlink/rlink.php?url=http://" . $board_config['server_name'] . $board_config['script_path'];
ersetze, funktioniert das nicht, weil dann alles wieder in externen Fenstern erscheint.

Das ist ganz schön verzwickt.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Dann wäre es wohl ohnehin besser, das Ganze in der rlink.php zu klären..... ?

Gib mal bitte einen Link / Testuser zu Deinem Forum.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Inferi74
Mitglied
Beiträge: 93
Registriert: 22.02.2007 18:15

Beitrag von Inferi74 »

Wie heißt es immer: "Sie haben Post!" :) PN ist raus.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Zweiter Versuch:

Code: Alles auswählen

	$url_start = "<a href=\"http://" . $board_config['server_name'] . $board_config['script_path'];
	if (strpos($message, $url_start))
	{
		$message = preg_replace("|(" . $url_start . ")(.*?)(" . $board_config['server_name'] . ")(.*?)(target=\"_blank\")|si", "\\1\\2\\3\\4target=\"_self\"", $message);
	}
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „Coding & Technik“