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 ·

Ich brauche mal eure Hilfe. Ich habe schon alles durch und es lĂ€uft trotzdem nicht. 😱

Ich möchte bei einer Verlinkung auf eine Datei im RTE nicht nur "download" als mögliche Klasse haben, sondern ein paar mehr. Ich poste mal, was ich schon habe:

RTE.classesAnchor {
  film {
    class = download
    type = file
    titleText = Film Datei
    altText = Film downloaden
    image >
    # image = fileadmin/icons/link_int.gif
  }
  word {
    class = download
    type = file
    titleText = Word Datei
    altText = Word Datei downloaden
    image >
    # image = fileadmin/icons/link_int.gif
  }
  excel {
    class = download
    type = file
    titleText = Excel Datei
    altText = Excel Datei downloaden
    image >
    # image = fileadmin/icons/link_int.gif
  }
  pdf {
    class = download
    type = file
    titleText = PDF Dokument
    altText = PDF Dokument downloaden
    image >
    # image = fileadmin/icons/link_int.gif
  }
  termin {
    class = download
    type = file
    titleText = Termin Datei
    altText = Termin Datei downloaden
    image >
    iconBehindLink = 1
    # image = fileadmin/icons/link_int.gif
  }
}

RTE.default {
  classesAnchor = internalLink, internalLinkInNewWindow, externalLink, externalLinkInNewWindow, download, film, word, excel, pdf, termin, mail
  classesAnchor.default {
    page = internalLink, internalLinkInNewWindow
    url = externalLink, externalLinkInNewWindow
    file = download, film, word, excel, pdf, termin
    mail = mail
  }
  proc {
    allowedClasses (
      external-link, external-link-new-window, internal-link, internal-link-new-window, download, mail,
      film, word, excel, pdf, termin
    )
  }
}
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 
    )
  }
}