_blank Link kennzeichnen
_blank Link kennzeichnen
Hallo,
Ich habe mir so eine Blow Seite www.dotpb.de/blog/ gebaut und weil dort sehr viele Link in einen neuem Fenster aufgehen wollte ich diese speziell wie bei wikipedia mit einem Bildchen dahinter kennzeichen.
Ist das irgendwie zu machen und in welcher Datei muss ich denn da suchen?
Gruß
PhB
Ich habe mir so eine Blow Seite www.dotpb.de/blog/ gebaut und weil dort sehr viele Link in einen neuem Fenster aufgehen wollte ich diese speziell wie bei wikipedia mit einem Bildchen dahinter kennzeichen.
Ist das irgendwie zu machen und in welcher Datei muss ich denn da suchen?
Gruß
PhB
Mmmh, das ist nicht so einfach. Entweder Du fummelst Dich durch den Editor-Code (guter Witz) oder - mal ganz pragmatisch - da gab es mal eine "Meine persönliche XHTML-Lösung" als Thema (unter V4.4.x).
Da wird beschrieben, wie um die gesamte Code-Erzeugung (allerdings für V4.4.x) ein Wrapper gesetzt wird, um den Code zu manipulieren - da könnte man ansetzen.
Ansonsten ist mir noch so, dass 4fb da was eingebaut hatte, um das zu erleichtern - da muss jemand anderes was zu sagen.
Gruß
HerrB
Da wird beschrieben, wie um die gesamte Code-Erzeugung (allerdings für V4.4.x) ein Wrapper gesetzt wird, um den Code zu manipulieren - da könnte man ansetzen.
Ansonsten ist mir noch so, dass 4fb da was eingebaut hatte, um das zu erleichtern - da muss jemand anderes was zu sagen.
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Es gibt in 4.6 standardmässig einen Wrapper um die Code-Erzeugung. Dieser ist implementiert in Form einer "Chain" mit dem Namen Contenido.Content.SaveContentEntry. Damit kann man eine Funktion erzeugen, die auf jeden zu speichernden Inhalt angewendet wird, bevor er in die Datenbank wandert. Wie's genau geht weiß ich auch noch nicht, aber ich werde in diese Richtung noch forschen.
Vielleicht kannst Du hiermit was anfangen:
http://www.contenido.org/forum/viewtopic.php?t=7123
Und es gibt auch ein Dokument unter docs/techrefs/plugins zum dem Thema.
Vielleicht kannst Du hiermit was anfangen:
http://www.contenido.org/forum/viewtopic.php?t=7123
Und es gibt auch ein Dokument unter docs/techrefs/plugins zum dem Thema.
Hallo Paule,
die Antworten auf Deine Frage beziehen sich auf Manipulationen von Contenido. Kann man sicher machen, würde ich aber nicht.
Man kann nämlich den Ball auch etwas flacher halten und pragmatisch am CSS ansetzen.
Für Gecko-Browser (u.a. Firefox) hast Du die einfache Möglichkeit, mit der Pseudoklasse :after oder :before automatischen content zu erzeugen.
Beispiel (gekürzt):
Da Du das nur für externe Links haben willst, ergänzt um eine Klasse:
Eine etwas andere CSS-Anweisung sieht so aus:
Das geht in verschiedenen Varianten und natürlich auch mit https oder anderen Transferprotokollen.
Da Dank der MS Firmenpolitik nichts so einfach ist wie es sein könnte, interpretiert der MSIE diese CSS-Anweisungen nicht. Da heißt es entweder warten (nicht auf das Christkind, sondern endlich einen besseren IE) oder händisch machen (bäh...).
Gruß,
Ayshe
die Antworten auf Deine Frage beziehen sich auf Manipulationen von Contenido. Kann man sicher machen, würde ich aber nicht.
Man kann nämlich den Ball auch etwas flacher halten und pragmatisch am CSS ansetzen.
Für Gecko-Browser (u.a. Firefox) hast Du die einfache Möglichkeit, mit der Pseudoklasse :after oder :before automatischen content zu erzeugen.
Beispiel (gekürzt):
Code: Alles auswählen
a:after {content:url(images/extern.gif) no-repeat;}
Code: Alles auswählen
a.extern:after {content:url(images/extern.gif) no-repeat;}
Code: Alles auswählen
a[href^="http:"] {
padding-left: 16px;
background-image: url('/images/extlink.gif');
background-position: left;
background-repeat: no-repeat;
}
a[href^="http://www.deineurl.de"]{
padding-left: 0px;
background-image: none;
background-position: left;
background-repeat: no-repeat;
}
Da Dank der MS Firmenpolitik nichts so einfach ist wie es sein könnte, interpretiert der MSIE diese CSS-Anweisungen nicht. Da heißt es entweder warten (nicht auf das Christkind, sondern endlich einen besseren IE) oder händisch machen (bäh...).
Gruß,
Ayshe
Ist das Dein Ernst? Schon mal von Websuche gehört?baumpaul hat geschrieben:oh, das ist ein riesen ding. Wo finde ich denn weitere solcher praktiven css anweisungen?
Muss und kann ja nicht alles auf dem IE gehen..

Einen ganz ordentlichen Einstieg bieten Dir http://www.css4you.de und http://www.css-technik.de
Für Fortgeschrittene ist die List Apart (http://www.alistapart.com/) unerläßlich und natürlich der CSS-Zengarden: http://www.csszengarden.com/
Von diesen Quellen aus findest Du unendlich weiteres im CSS-Universum.
Gute Reise wünscht:
Ayshe
hi,
also dich könnte daneben auch vpTransformationen interessieren. das plugin zeichnet automatisch alle links die mit http:// anfangen mit einer css klasse (glaube: extrernal aus). wenn dir das mit http:// nich hilft, du lieber nach targ="_blank" suchen möchtest lässt sich das einfach modifizieren.
zum css vorschlag:
so sieht eine saubere lösung in 2-3 jahren aus. zur zeit beherrscht jedoch der ie6 (anteil ca. 50-70%, je nach publikum) diese css selektoren nicht. um es besser zu machen, könnte man zusätzlich ein bißchen javascript einsetzen. du brauchst nicht viel kenntnisse dafür. du lässt dir in einem schritt alle a tags der seite durchgeben. (http://de.selfhtml.org/javascript/objek ... y_tag_name)
dann fragst in einer schleife ab, ob da ein target=_blank drin vorkommt, wenn ja dann setzt du ein neue css-klasse für den ie (http://de.selfhtml.org/javascript/objekte/style.htm)
dann funktioniert dein vorhaben bei ie6 mit js und bei allen guten browsern auch ohne js.
also dich könnte daneben auch vpTransformationen interessieren. das plugin zeichnet automatisch alle links die mit http:// anfangen mit einer css klasse (glaube: extrernal aus). wenn dir das mit http:// nich hilft, du lieber nach targ="_blank" suchen möchtest lässt sich das einfach modifizieren.
zum css vorschlag:
so sieht eine saubere lösung in 2-3 jahren aus. zur zeit beherrscht jedoch der ie6 (anteil ca. 50-70%, je nach publikum) diese css selektoren nicht. um es besser zu machen, könnte man zusätzlich ein bißchen javascript einsetzen. du brauchst nicht viel kenntnisse dafür. du lässt dir in einem schritt alle a tags der seite durchgeben. (http://de.selfhtml.org/javascript/objek ... y_tag_name)
dann fragst in einer schleife ab, ob da ein target=_blank drin vorkommt, wenn ja dann setzt du ein neue css-klasse für den ie (http://de.selfhtml.org/javascript/objekte/style.htm)
dann funktioniert dein vorhaben bei ie6 mit js und bei allen guten browsern auch ohne js.
Aus "Internet Professionell 11/2005" (JavaScript-Lösung):
Zur Auusführung muss man die Funktion ins body-Tag integrieren:
Ungetestet, kein Support. Folgendes beachten:
- Man müsste in den Code noch die Überprüfung auf _blank einbauen
- Die Überprüfung "extern" scheitert u.U. in Contenido, da Links reletiv angegeben werden - hier könnte man u.U. besser auf "http://" statt auf "domain.tld" prüfen
- Bei vielen Links auf einer Seite könnte das Skript die Darstellung signifikant verlangsamen
- Funktioniert natürlich nur, wenn JS beim Client nicht deaktiviert ist
Gruß
HerrB
Code: Alles auswählen
function linkIcon() {
var links = document.getElementByTagName("a");
for (i=0; i<links.length;i++) {
var images = links[i].getElementsByTagName("img");
// Keine verlinkten Bilder mit Icon ausstatten
if (images.length == 0) {
var lnkHRef = links[i].href;
if (linkHref.match(".pdf")) {
addIcon(links[i], "pdf");
} else if (!linkHref.match("domain.tld")) {
addIcon(links[i], "extern");
}
}
}
}
function addIcon (selLink, ext) {
var img = document.createElement ('img');
// Diese Zeile anpassen
img.src = "http://www.domain.tld/cms/upload/img/icons/"+ext+".gif";
img.alt = "Dieser Link führt auf eine "+ext+"-Datei";
selLink.ParentNode.inserBefore(img, selLink.nextSibling);
}
Code: Alles auswählen
<body onload="linkIcon()">
- Man müsste in den Code noch die Überprüfung auf _blank einbauen
- Die Überprüfung "extern" scheitert u.U. in Contenido, da Links reletiv angegeben werden - hier könnte man u.U. besser auf "http://" statt auf "domain.tld" prüfen
- Bei vielen Links auf einer Seite könnte das Skript die Darstellung signifikant verlangsamen
- Funktioniert natürlich nur, wenn JS beim Client nicht deaktiviert ist
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net