Zum Inhalt springen

Bedingtes Wrappen (Links mit eigener CSS-Klasse)

Erstellt am 4. März 2009 · 6 Antworten · letzte Antwort am 9. März 2009

Tags: Links, Frage

PhilH ·

Hallo zusammen,

folgendes Problem:
Im RTE kann ich Links mit einer eigenen CSS-Klasse versehen.
( <a class="pdf" href="..."></a> )

Nun möchte ich, dass diese Links (also nur diejenigen mit class="pdf") mit einem DIV gewrappt werden.

Ich sehe 2 Möglichkeiten:
1. Das Wrappen passiert schon beim anlegen im RTE. Dh. nicht nur die CSS-Klasse wird gesetzt, sondern auch der DIV. (-> geht sowas generell?)

2. Das Wrappen findet hiermit statt:

lib.parseFunc_RTE.tags.link.typolink.wrap = <div class="pdf">|</div>

Wobei hier natürlich ALLE Links gewrappt werden.

In Pseudocode ;-)
Wenn <a> hat class="pdf" => wrap <a> mit <div>

Danke
Phil

Julian.​Hofmann ·

Hallo Phil.

Ich geh mal dezent am Wrappen vorbei um den Hintergrund Deiner Frage zu erfahren. Denn im Allgemeinen dürfte es wenig Sinn machen, ein Blockelement (DIV) in fließenden Text einzubauen. Via CSS sollte sich auch ein A-Tag (mittels Klasse) nahezu beliebig formatieren lassen.

Ansonsten sähe ich noch Möglichkeiten in der Nutzung von "Block style" im RTE, der ja genau ein DIV samt Klasse in den texte einsetzt (müsste ggf. fürs BE noch via CSS geändert werden, dass kein Block dargestellt wird).

Viele Grüße
Julian

PhilH ·

Hallo Julian,

danke schon mal für die Antwort.
Das Wrappen mit dem DIV ist schon explizit gewollt, da es sich dabei um einen Download-Button handelt, der für die Hintergrundgrafik den DIV und zusätzlich noch einen SPAN im A braucht.
Dh. daran kann ich nichts ändern.

Wo gibts denn weiterführende Infos zu dem von dir genannten "Block Style"?

THX
Phil

Julian.​Hofmann ·

Öhm, also das klingt bisschen danach, als würdest Du da mit dem HTML-Stanard in konflikt kommen. Block-Elemente (p, div usw.) haben innerhalb von Links nichts zu suchen...

Ein Gedanke um die ganze Problematik andres anzupacken:
Dem Link zwei Klassen zuweisen (müsste gehen). Eine sorgt für die Buttonhaftigkeit (CSS: display: block; width: auto; background:...), die andere für das Bildchen vor/hinter dem Text (falls das voN Dir erwähnte SPAN dafür dienen sollte).

PhilH ·

Hallo Julian,

ignorieren wir zunächst mal Standard-HTML. ;-)

Lässt sich das Problem im Typo lösen? Also, dass das HTML so erzeugt wird wie ich es geschrieben habe.

Grüße
Phil

Julian.​Hofmann ·

Der Hinweis auf die Standards war ja nur hinsichtlich Umdenken udn anders lösen gemeint. Ist manchmal einfacher (und manchmal verennt man sich ja auch in seine eigene Lösung).

Es müsste sich aber auch so lösen lassen. Die Linkerzeugung wird über lib.parseFunc_RTE.tags.link konfiguriert. Da es sich um ein TEXT-Objekt handelt, sind die stdWrap-Funktionen drauf anwendbar. D.h. Du müsstest beliebige Wraps drumherumbasteln können oder ggf. auch bedingte Dinge unterbringen.
Schau evtl. mal in den Template Object Browser.

PhilH ·

Hallo Julian,

ich denke, dass das Wrappen nicht das Problem ist.

Die Abfrage, welche CSS-Klasse der Link hat, ist eher die Schwierigkeit.
Also wie ich auf das class-Attribut zugreifen und dessen Wert überprüfen kann?

Kannst du helfen?

Danke und Grüße
Phil