[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
nur externe Links im neuen Fenster öffnen - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
fsui-team
Beiträge: 41
Registriert: 29. Dez 2006, 15:19
Wohnort: München

nur externe Links im neuen Fenster öffnen

27. Mär 2007, 17:10

Im "Text und/oder Bild [textile]" möchten wir gerne die externen Links in neuem Fenster öffnen.

Ein Versuch, was logisch, scheiterte, da, wenn man im class.textile.inc.php die Änderungen vornimmt, sowohl die internen als auch die externen Links aufgehen.

Falls wir was im Forum übersehen haben, sorry, sonst würden wir uns über einen Tipp freuen.

LG Uwe :roll:

Benutzeravatar
Oliver.Kreischer
Beiträge: 2508
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

27. Mär 2007, 19:01

> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

27. Mär 2007, 19:02

Hej,

komisch das du immer "wir" schreibst. Tippen wirklich mind 2 Leute auf der tastatur und begeben sich auch 2 Leute auf die Suche nach dem Problem?

Zu deinem Problem:
Ich würde den Content in eine Variable speichern und dann per Regex nach externen Links suchen und diese dann anpasssen. Wobei, ich würde das eigentlich gar nicht machen. Diese Gängelung der User geht mir ....


vg Thomas

Benutzeravatar
alex2911
Beiträge: 567
Registriert: 20. Jul 2005, 04:13
Wohnort: Österreich
Kontaktdaten: Website

27. Mär 2007, 19:08

Ach Thomas :)
Wir (meine 2 Hände) suchen doch auch immer gemeinsam nach Lösungen :P

Benutzeravatar
fsui-team
Beiträge: 41
Registriert: 29. Dez 2006, 15:19
Wohnort: München

Danke

27. Mär 2007, 19:30

für die Hinweise...

"Wir" sitzen hier nicht alleine vor dem Problem, denn wir sind in Workshops und wenden uns(zurzeit nur zu dritt) an diese "Plattform", wenn wir gemeinsam nicht weiter wissen. Sorry, kann man nix machen...


Ach Thomas, "mir" persönlich ist es lieber, wenn externe Seite auch extern aufgehen. Man möchte doch seine Besucher auf der Seite behalten. Es gibt Besucher, sicherlich nicht viele, die finden nicht wieder zurück...

:P

LG und Danke für Tipps von allen... :wink:

iwerstler
Beiträge: 22
Registriert: 30. Mär 2007, 17:15

Re: Danke

30. Mär 2007, 17:32

Moin,

nachdem mich dieses Verhalten ebenfalls nervt, bzw. ich meinem Kunden eben nicht vorschreiben will, was er als besser zu erachten hat (und der Kunde wünscht nunmal externe Links extern aufgehen zu lassen) hier ein Patch für class.textile.inc.php


Zeile 579 ersetzen durch folgendes:
------------------------
$target = ($parts["scheme"] == "http") ? ' target="_blank"' : '';

$out = $pre . '<a href="' . $url . $slash . '"' . $atts . $this->rel . $target . '>' . $text . '</a>' . $post;
------------------------

Danach gehen alle mit http definierten Links im neuen Tab/Fenster auf, alle redaxo:// definierten internen Links bleiben im eigenen Fenster.

Noch 2-3 Zeilen mehr, dann ist dieses Verhalten sogar per master.inc konfigurierbar und könnte problemlos in den Redaxo-Source aufgenommen werden. Denkbar wäre auch, dass z.B. httpe:// links extern öffnet und im Code durch http:// ersetzt wird.

Viele schöne Möglichkeiten und kein Grund mehr uns zu gängeln, weil unsere Kunden vermeintlich ihre User gängeln würden... :-)

Gruß,
Ingo

Benutzeravatar
fsui-team
Beiträge: 41
Registriert: 29. Dez 2006, 15:19
Wohnort: München

klasse Einlage...

30. Mär 2007, 18:37

wenn "ich" nun Fußballbegeisterter wäre(bin ich aber nicht) würde ich jetzt Volltreffer schreien. Tue ich aber nicht, weil schreien ist blöd und hilft auch nicht weiter...

Klasse, das gefällt mir gut(und uns auch) und hört sich so schön Norddeutsch an...

Auf die :idea: hätte man eigentlich auch selber kommen müssen. Aber sind wir nicht. Drum allerherzlichsten Dank!!!

Besonders zu deinen anderen Ausführungen kann ich dir nur zustimmen. Normalerweise sollte der User entscheiden, wird wohl nicht gehen, oder schon aber mit allzu größem Aufwand. (Man konnte ja zwei Varianten anbieten) lach

Aber der Kunde ist König und drum macht's so, wie's gewünscht wird... ;-)

iwerstler
Beiträge: 22
Registriert: 30. Mär 2007, 17:15

Re: klasse Einlage...

30. Mär 2007, 20:26

Des Patch 2. Teil (wir machen den Patch konfigurierbar):

Um Zeile 192 rum:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Textile
{
var $newWindowUrlScheme = "newWindow";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



Neue Methode einfügen (z.B. ca. Zeile 278):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// -------------------------------------------------------------
function setNewWindowUrlScheme($scheme){ //set url scheme which opens link in a new window (target = _blank)
$this->newWindowUrlScheme=$scheme;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Ca. Zeile 580 austauschen Zeile $out = ... gegen Codeblock:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$target = '';
if ($parts["scheme"] == $this->newWindowUrlScheme ){
$target = ' target="_blank"';
$url = str_replace( $this->newWindowUrlScheme."://" , "http://", $url);
}

$out = $pre . '<a href="' . $url . $slash . '"' . $atts . $this->rel . $target . '>' . $text . '</a>' . $post;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Sodala... was haben wir nun?

1. Textile öffnet per Default Links immer dann mit target = _blank, wenn wir als Link statt http://www.domain.de newWindow://www.domain.de eingeben.
2. wenn unser Kunde lieber etwas anderes als newWindow haben möchte (z.B. http) das den Link in einem neuen Window öffnet, dann können wir das im Redaxo-Modul umkonfigurieren, indem wir die Methode setNewWindowUrlScheme auf unserem Textile-Objekt aufrufen:

Bsp:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$textile = new Textile;
$textile->setNewWindowUrlScheme("http");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Hth
Ingo

soulstyled.de
Beiträge: 9
Registriert: 17. Okt 2006, 22:36
Kontaktdaten: ICQ

8. Okt 2007, 11:54

hmmm ist das so noch aktuell? Wenn ich den Link mit "Linktext":newWindow://www.domain.de angebe, wirds nicht aufgelöst. Browser meldet dann, dass er nicht weißt, wie er "newwindow" öffnen soll.

Vermute fast, ich habs nicht korrekt hinbekommen, das textile Modul zu patchen. Muss ich da was ersetzen oder nur ergänzen?

Hab allerdings die $out ... Zeile erst um 780 herum gefunden :cry:
(__/)
(o.o )
(> < ) This is Bunny. Copy Bunny into your signature to help him on his way to world domination

Zurück zu „Allgemeines [R3]“