[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Textile: Link in neuem Fenster ... wie?
Seite 1 von 1

Textile: Link in neuem Fenster ... wie?

Verfasst: 26. Feb 2009, 15:10
von Tito
Hi Leute,
hab da ein Problem: Wie kann man es mit Textile bewekstelligen, das sich ein Link in einem neuen Fenster öffnet?
Mein Kunde wünscht sich das für externe Links, da erwartet wird, das die Besucher sich auf den externen Seiten länger umschauen. Jetzt weiß ich aber nicht wie das gemacht wird ... und den TinyMCE, wo dies sehr einfach zu bewerkstelligen ist, mag ich nicht sonderlich. ;-)

Hat also jemand hier eine Idee, wie man das mit Textile hinbekommt?

Verfasst: 26. Feb 2009, 16:10
von rkemmere
Ich würde ein Template dafür einbinden. Damit gehen dann alle externen Links in einem neuen Fenster auf. Dazu ist es noch valide und bekommt sogar eine css Klasse Extern.

http://www.redaxo.de/168-Templatedetail ... late_id=25

oder

http://www.redaxo.de/168-0-templatedeta ... late_id=91

Verfasst: 26. Feb 2009, 21:46
von Tito
Das sieht doch schon sehr vielversprechend aus ... werde das gleich morgen mal testen. Sieht so aus, als könnte man das auch leicht für .pdf-Datein modifizieren damit diese auch in einem extra Fenster geöffnet werden.

Danke für die schnelle Antwort.

Verfasst: 27. Feb 2009, 10:49
von Tito
Jepp, funktioniert wie gedacht und erwartet perfekt :-)

Ich hab folgendes Template verwendet: http://www.redaxo.de/168-0-templatedeta ... late_id=91
Falls es jemanden interessiert hier noch meine kleine Anpassung für pdf-Dokumente:

Code: Alles auswählen

function parse_external_links($matches)
{
	if ( rex_get_domainname_from_uri($matches[3]) != rex_get_domainname_from_uri($_SERVER["HTTP_HOST"]) )
	{
		return '<a href="' . $matches[2] . '//' . $matches[3] . '"' . $matches[1] . $matches[4] . ' class="rextern" onclick="window.open(this.href); return false;">' . $matches[5] . '</a>';    
	} 
<!-- HIER DIE KLEINE ANPASSUNG -->
	elseif ( substr($matches[3],-4) == '.pdf' || substr($matches[3],-4) == '.Pdf' || substr($matches[3],-4) == '.PDF' )
	{
		return '<a href="' . $matches[2] . '//' . $matches[3] . '"' . $matches[1] . $matches[4] . ' onclick="window.open(this.href); return false;">' . $matches[5] . '</a>';
	}
<!-- ENDE ANPASSUNG -->
	else 
	{
		return '<a href="' . $matches[2] . '//' . $matches[3] . '"' . $matches[1] . $matches[4] . '>' . $matches[5] . '</a>';
	}
}

Verfasst: 27. Feb 2009, 11:17
von alex2911
mach noch ein strtolower() bei ".pdf" rein. Damit ersparst du dir die restlichen oder-abfragen.

obwohl ich es mit preg_match gelöst hätte, ist die lösung brauchbar :)

ich habe meine funktion für bestimmte seiten erweitert welche ebenfalls im gleichem fenster geöffnet werden sollen. geht auch nach dem schema.

Verfasst: 11. Aug 2009, 11:19
von radamazone
Hallo Tito,

habe Deinen Code verwendet, es werden aber nur externe PDFs geöffnet, jedoch nicht solche die im Quelltext so aussehen: ./files/xyz.pdf.

Hast Du evtl. dafür eine Lösung?

Gruß

Sandra