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
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/
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/
- Oliver.Kreischer
- Beiträge: 2508
- Registriert: 17. Dez 2004, 00:03
- Wohnort: Velbert - LA
- Kontaktdaten: Website
> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!
- Thomas.Blum
- Entwickler
- Beiträge: 5063
- Registriert: 24. Aug 2004, 22:11
- Wohnort: Dresden
- Kontaktdaten: Website
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
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
Danke
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...
LG und Danke für Tipps von allen...
"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...
LG und Danke für Tipps von allen...
Re: Danke
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
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
klasse Einlage...
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 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...
Klasse, das gefällt mir gut(und uns auch) und hört sich so schön Norddeutsch an...
Auf die 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...
Re: klasse Einlage...
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
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
-
- Beiträge: 9
- Registriert: 17. Okt 2006, 22:36
- Kontaktdaten: ICQ
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
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
(__/)
(o.o )
(> < ) This is Bunny. Copy Bunny into your signature to help him on his way to world domination
(o.o )
(> < ) This is Bunny. Copy Bunny into your signature to help him on his way to world domination