Über den RTE einen LINK setzen + klassenauswahl [Gelöst]

  • M8TRIX M8TRIX
    Jedi-Meister
    0 x
    331 Beiträge
    0 Hilfreiche Beiträge
    25. 01. 2006, 10:21

    Hallo Leute,

    im Zuge meiner Optimierungsarbeit für unsere Redakteure versuche ich Ihnen einen Schritt zu erleichtern beim erstellen von Verweisen (links)

    Wenn die Redakteure Seiteninhalt erstellen und dort kommt am Ende der Site ein Verweis auf eine weiterführende Seite, zum Beispiel ein externer link, oder aber auch ein interner Zielverweis, dann müssen Sie bis jetzt folgendermaßen vor gehen:

    Sie befinden sich im RTE:
    [b]Jeder interne Textverweis oder auch externer LINK bekommt einen runden Button voran gesetzt.[/b]

    1: Über das Image Icon den Button einfügen.
    2: Den http://www.xyz.de Text markieren, dann auf das URL Werkzeug klicken (die Weltkugel) dann externen Link auswählen. Die URL ausgeben.

    [b]Jetzt gibt es im Styleguide allerdings eine Ausnahme für die Gestaltung der LINKS:[/b]
    Kommt ein LINK egal ob intern oder externes Ziel innerhalb eines Textblockes vor, so wird ihm kein Button vorangestellt.

    Und das ist der Haken. Wie könnte ich das Umsetzen?

    a: Wie kann ich über den RTE eingefügten LINKS eine Klasse zuweisen? Denn wenn ich das machen könnte, könnten die Redakteure sich den Schritt des Bildes einfügen sparen. Das kann ich dann mit CSS lösen.

    b: Ist es Möglich den RTE so zu erweitern, das man wenn man auf das LINK Werkzeug klickt ebenfalls für alle Zustände (intern/extern/mailto ect) eine Klasse auswählen kann bzw- zwischen mehreren Klassen wählen kann?

    lg Sandra


  • 1
  • steffenk steffenk
    Obi-Wan Kenobi
    0 x
    4666 Beiträge
    0 Hilfreiche Beiträge
    25. 01. 2006, 10:29

    Das kannst Du leicht über Klassen realisieren.

    1. RTE.default.classesAnchor = intern, extern, mailto

    Dann ist die Klasse oben anwählbar ;)

  • M8TRIX M8TRIX
    Jedi-Meister
    0 x
    331 Beiträge
    0 Hilfreiche Beiträge
    25. 01. 2006, 10:51

    Hallo SteffenK,

    ich hab das in meiner ROOT-Page in meiner TSconfig: geschrieben. Allerdings sehe ich keine Auswahl von Klassen, wenn ich auf das LINK Werkzeug (Weltkugel) klicke.

    Hab ich noch etwas übersehen?

    lg sandra

  • steffenk steffenk
    Obi-Wan Kenobi
    0 x
    4666 Beiträge
    0 Hilfreiche Beiträge
    25. 01. 2006, 10:55

    ja, denn das muss ins PageTS, am besten ins PageTS der Root-Seite.

    Hier mal ein Beispiel einer komplexeren Konfiguration, damit Du siehst, was noch alles möglich ist:

    1. ########################
    2. # RTEHtmlArea-TS-Konfiguration #
    3. ########################
    4.  
    5. # Eigene CSS-Klassen in externer Datei definieren
    6. RTE.default.contentCSS = fileadmin/css/cbs_wysiwyg_editor.css
    7.  
    8. # Texte aus MS Word werden gesaeubert
    9. RTE.default.enableWordClean = 1
    10.  
    11. # bei mozilla/firefox werden bei ENTER Paragraphen erzeugt (wie im IE)
    12. RTE.default.disableEnterParagraphs = 0
    13.  
    14. # use <span>-Tags instead of e.g. <font>-Tags (gilt für Mozilla/Firefox)
    15. RTE.default.useCSS = 1
    16.  
    17. # which buttons should be shown?
    18. RTE.default.showButtons = *
    19. RTE.default.hideButtons = fontstyle,fontsize,formatblock,strikethrough,subscript,superscript,lefttoright,righttoleft,textcolor,bgcolor,textindicator,emoticon,line,user,acronym,inserttag,showhelp,about
    20.  
    21. #RTE.default.hidePStyleItems = PRE, H1
    22. RTE.default.hideTags = font, font (full)
    23.  
    24. # Definiert wann und wo welche CSS-Klassen benutzt werden dürfen
    25. RTE.default.showTagFreeClasses = 0
    26. RTE.default.classesCharacter = headline,Intern,kontaktleiste,Kommentar,Definition,Warnung,Code
    27. RTE.default.classesImage =
    28. RTE.default.classesAnchor =
    29.  
    30. #must be set for span classes !!!
    31. RTE.config.tt_content.bodytext.proc.allowedClasses < RTE.default.classesCharacter
    32.  
    33. # show Statusbar
    34. RTE.default.showStatusBar = 1
    35.  
    36. # Breite des RTE definieren (in Prozent oder Pixeln)
    37. # Muster: TCEFORM.<table_name>.<column_name>.RTEfullScreenWidth = <breite>[%|px]
    38. TCEFORM.tt_content.bodytext.RTEfullScreenWidth= 100%
    39.  
    40. # RTE-Verarbeitung
    41. RTE.default.proc {
    42. // TRANSFORMATION METHOD
    43. overruleMode = ts_css
    44.  
    45. // LINES CONVERSION
    46. dontConvBRtoParagraph = 1
    47.  
    48. // TAGS ALLOWED OUTSIDE P & DIV
    49. allowTagsOutside = img,hr
    50.  
    51. // TAGS ALLOWED
    52. allowTags = table, tbody, tr, th, td, h1, h2, h3, h4, h5, h6, div, p,br, span, ul, ol, li, pre, blockquote, strong, em, b, i, u, sub, sup,strike, a, img, nobr, hr, tt, q, cite, abbr, acronym
    53.  
    54. // ALLOWED P & DIV ATTRIBUTES
    55. keepPDIVattribs = align,class,style
    56.  
    57. // CONTENT TO RTE
    58. HTMLparser_rte {
    59. // TAGS ALLOWED
    60. allowTags < RTE.default.proc.allowTags
    61.  
    62. // DO NOT REMOVE UNMATCHED TAGS
    63. keepNonMatchedTags = 0
    64. }
    65.  
    66. // CONTENT TO DATABASE
    67. entryHTMLparser_db = 1
    68. entryHTMLparser_db {
    69. // XHTML COMPLIANCE
    70. xhtml_cleaning = 1
    71.  
    72. // CLEAN TAGS
    73. noAttrib = b,i,u,strike,sub,sup,strong,em,quote,blockquote,cite,tt,br,center
    74. tags.font.allowedAttribs = color,style
    75. tags.hr.allowedAttribs = class
    76.  
    77. // REMAP B AND I TAGS
    78. tags.b.remap = strong
    79. tags.i.remap = em
    80.  
    81. // remove Tags which have no attributes
    82. rmTagIfNoAttrib = span,div,font
    83.  
    84. #htmlSpecialChars = 1
    85. }
    86. }

  • M8TRIX M8TRIX
    Jedi-Meister
    0 x
    331 Beiträge
    0 Hilfreiche Beiträge
    25. 01. 2006, 11:11

    [quote="steffenK"]
    ja, denn das muss ins PageTS, am besten ins PageTS der Root-Seite.
    [/quote]

    Jupp...TSconfig: Page TypoScript configuration. <<< da hab ichs hinzugefügt,
    wo auch andere TS Definitionen drin stehn in meiner ROOT Seite.

    Ich benutze Typo 3.7 und den standard RTE hat es vielleicht damit zu tun?

    Ich hab dann noch gedacht, ich muss natürlich
    ersteinmal in meiner CSS Datei den Style für INTERN, EXTERN ect. definieren,
    damits auch angezeigt wird im RTE (wo auch immer)

    Leider funktioniert das nicht.

    Hat noch jemand eine Idee warum es bei mir nicht klappt?
    Die anderen konfigurationen für meinen RTE werden auch angenommen. Das funktioniert soweit supi.

    MEINE TSconfig: Page TypoScript configuration:

    1. RTE.default.proc {
    2. denyTags = font
    3. }
    4. # Verhindert insbesondere beim Kopieren aus MS-Word die Eingabe bestimmter Elemente im Rich Text Editor
    5.  
    6. RTE.default.proc {
    7. showButtons=copy,paste,formatblock,class,bold,italic,left,center,right,orderedlist,unorderedlist,link
    8. hideButtons=cut,fontsize,fontstyle,underline,textcolor,emoticon,outdent,indent,bgcolor,user,image,line,table
    9. }
    10.  
    11. # Ein- und Ausblenden von Absatzarten im Rich Text Editor
    12. RTE.default {
    13. hidePStyleItems= H1,H2,H3,H4,H5,H6,PRE
    14. }
    15.  
    16. RTE.default.blindImageOptions = magic
    17.  
    18. # Definiert wann und wo welche CSS-Klassen benutzt werden dürfen
    19. RTE.default.showTagFreeClasses = 0
    20. RTE.default.classesCharacter =
    21. RTE.default.classesImage =
    22. RTE.default.classesAnchor =intern

    lg Sandra

  • steffenk steffenk
    Obi-Wan Kenobi
    0 x
    4666 Beiträge
    0 Hilfreiche Beiträge
    25. 01. 2006, 11:19

    Hi Sandra,

    ist schon alles korrekt, nur

    Wenn in der rte.css neue Klassen angelegt werden, zeigen sowohl IE wir Firefox die nicht in der laufenden Session im RTE an. Beim IE reicht es meistens, sich aus- und neu einzuloggen, Firefox ist versionsunabhängig noch zickiger, der will ganz beendet und neu gestartet werden.

    Quelle: http://ug.typo3-nrw.de/typo3-dynamic_css.html

    lg Steffen

    PS - mich hat das neugierig gemacht, und Du hast Recht, beim Standard rte werden die Klassen für Links nicht angezeigt.
    Abhilfe schafft die Installation von rtehtmlarea - ist eh besser, auch mit FF nutzbar etc ;)

    habe das gerade mal durchgeführt. Installieren, dann rte deinstallieren, dann gibt es in den Links ein DropDown mit den definierten Klassen - funktioniert wunderbar.

  • M8TRIX M8TRIX
    Jedi-Meister
    0 x
    331 Beiträge
    0 Hilfreiche Beiträge
    25. 01. 2006, 11:38

    OK... grrr habs mir fast gedacht das es doch mit meinem standard RTE zusammen hängt!

    #paralyzed#

    Ich muss ersteinmal ausführlich testen, was ich mir zerschieße,
    wenn ich den RTEHTMLAREA installiere und meinen default RTE deinstalliere.

    Nich das dann nacher nix mehr funktioniert! Aber ich werds wohl mal angehen jetzt.

    Ich Dank Dir vielmals Steffen für Deine Zeit und Deine Mühe :D

    lg Sandra

  • 1