Zum Inhalt springen

Eigene Download Klassen im RTE

Erstellt am 18. Februar 2009 · 12 Antworten · letzte Antwort am 5. April 2009

Tags: Dateien & FAL, Frage

akonze ·

Nein. Ich habe zwar viele Seiten gefunden auf denen das beschrieben wird, aber keine Lösung funktioniert. Hier im Forum weiß leider auch niemand eine Lösung.

Ich denke das ging vielleicht früher mal, geht aber in der aktuellen Version nicht mehr.

akonze ·

Nochmal ein Reminder: Hat das denn nie mal jemand probiert? Das muss doch irgendwie gehen. Oder gibt es vielleicht eine Extension, die das leistet?

equapio ·

Hier ist die Antwort:

RTE.default.classesAnchor = internal-link, internal-link-new-window, download, external-link, external-link-new-window, mail, neuereintrag

Dies erzeugt einen neuen Eintrag in allen Linkversionen (page, url, file, mail) mit der gleichnamigen Klasse im Quelltext.

MfG,
- equapio

akonze ·
equapio schrieb

Hier ist die Antwort:

Hast du dir mal meinen Quelltext angeschaut? Da steht genau das drinn. Zeile 45 und 46. Nur leider geht es trotzdem nicht. 😉

akonze ·

Ein letztes Mal: Kennt denn keiner eine Möglichkeit eigene Klassen für Download Links zu definieren?

Falls nicht im Typoscript, dann vielleicht als Erweiterung? Oder irgendwie per CSS?

daKmoR ·

ich kann es dir nur für tinymce_rte sagen...

# define a stylesheet
content_css = fileadmin/templates/main/css/screen.css
# define styles and how they are displayed in the rte
theme_advanced_styles = Ein film=film;word=word;exel=exel;...

und im css steht dann halt..

.film {
  padding-left: 18px; /* Icongröße + 1-3 pixel */
  overflow: hidden;
  background-image: url(path/to/icon.png);
}

.word { ... }

dafür muss man halt händisch den link auswählen und dann die ensprechende klasse setzen...

man kann das auch rein über css machen (bsp.: http://www.psyked.co.uk/css/auto-matic-link-icons.htm)

a[href$='.pdf'] {
  /* style für links die mit .pdf enden */
}

geht aber natürlich erst ab IE7
brauch man auch IE6 dann müsste man hier auf eine javascript lösung zurückgreifen...

equapio ·

Hallo akonze,

equapio schrieb

Hier ist die Antwort:

RTE.default.classesAnchor = internal-link, internal-link-new-window, download, external-link, external-link-new-window, mail, neuereintrag
akonze schrieb

Nur leider geht es trotzdem nicht. 😉

Ich hatte dasselbe Problem, ich kann dir versichern, dass mein Zitat als einzige geschriebene Zeile alleine geholfen hat. Unter "RTE." steht bei mir nichts anderes außer dies. Ich habe nun mehrere Klassen zur Auswahl. Wenn es bei dir nicht geht muss etwas anderes nicht stimmen, vielleicht hast du einfach zu viel geschrieben und dadurch wieder unbewusst etwas blockiert.
Nur um das mögliche Missverständnis aus dem Weg zu räumen: Es gehört in das "TSconfig"-Feld der entsprechenden (übergeordneten) Seite.

Ich hoffe, ihr bekommt es hin, mich hatte es nämlich ganz schön genervt.
- equapio

cherry24 ·

Hallo,

sind die CSS-Klassen denn auch im rte.css definiert worden?
Sorry, wenn diese Frage vielleicht zu naiv war.

mfg
cherry24

akonze ·
equapio schrieb

Ich hatte dasselbe Problem, ich kann dir versichern, dass mein Zitat als einzige geschriebene Zeile alleine geholfen hat.

Ehrlich gesagt glaube ich nicht, daß du das selbe Problem hattest. 😃

Du hast einfach zusätzliche Klassen überall reingebügelt. Genau das möchte ich aber nicht! Ich möchte, daß bestimmte zusätzliche Klassen nur unter "Datei" auswählbar sind. Es soll sichergestellt sein, daß nur Dateien mit einer bestimmten Grafik versehen werden können.

cherry24 schrieb

sind die CSS-Klassen denn auch im rte.css definiert worden?

Du machst Schritt 2 vor Schritt 1. Ob die CSS Klassen definiert sind oder nicht ist egal, so lange man diese Klassen nicht setzen kann... 😉

Sei es drum. Das geht offensichtlich nicht in Typo3. Vielleicht ein Feature für zukünftige Versionen.

equapio ·

Hallo akonze,

akonze schrieb

Ich möchte, daß bestimmte zusätzliche Klassen nur unter "Datei" auswählbar sind. Es soll sichergestellt sein, daß nur Dateien mit einer bestimmten Grafik versehen werden können.

Ja das war in meinem Fall (zum Glück) nicht nötig, mir hat es soweit gereicht neue Klassen hinzuzufügen, egal ob diese dann für alle Typen vorhanden sind. Aus dem Grund brauchte ich auch nicht weiter nach einer Lösung suchen. Wenn das für euch nicht reicht, bleibt mir nichts als viel Erfolg auf der Suche zu wünschen.
- equapio

froemken ·

Da hattest du aber einiges durcheinander :-)
Diese film, word, excel-Dinger sind nur Namen und keine Klassen. Demnach macht es keinen Sinn diese Namen in die Liste von allowedClasses bzw. allowedAnchor aufzunehmen. In diese Listen hättest du einfach nur download reinschreiben müssen und feddich. Weiterhin machte es keinen Sinn dieses imgAfterLink in der Klasse zu setzen, weil es dort diese Eigenschaft gar nicht gibt.

Wie der ganze Kram in einander verstrickt ist findest du unteranderem in meinen Dokus:
http://wiki.winboard.org/index.php/TYPO3_und_der_RTE
Jetzt neu auch hier:
http://typo3.sfroemken.de/kategorie/rte.html

RTE.classesAnchor {
  film {
    class = download1
    type = page
    titleText = Film Datei
  }
  word {
    class = download2
    type = mail
    titleText = Word Datei
  }
  excel {
    class = download3
    type = file
    titleText = Excel Datei
  }
  pdf {
    class = download4
    type = file
    titleText = PDF Dokument
  }
  termin {
    class = download5
    type = file
    titleText = Termin Datei
  }
}

RTE.default {
  classesAnchor = internalLink, internalLinkInNewWindow, externalLink, externalLinkInNewWindow, download1, download2, download3, download4, download5
  classesAnchor.default {
    page = internalLink
    url = externalLink
    file = download1
    mail = mail
  }
  proc {
    allowedClasses (
      external-link, external-link-new-window, internal-link, internal-link-new-window,
      download1, download2, download3, download4, download5 
    )
  }
}