Zum Inhalt springen

font tags im frontend nicht rendern

Erstellt am 14. September 2011 · 5 Antworten · letzte Antwort am 17. September 2011

Tags: Frage

zabinetta ·

Liebe Listenfreunde,

habe ein Problem, font-Tags aus meiner Seite rauszubekommen.
die Situation ist folgende: wir haben einen Multidomain-Site mit mehreren Websites.
verschiedene Datensätze werden mehrfach verwendet, auch in mehreren Sites, mit dem Insert Records / Datensatz einfügen Contentelement. diese Datensätze bringen aber zum Teil font-Tags mit, die dann Text einfärben und das passt nicht immer.
Hab ich gedacht, gut, nimm ich im Frontend einfach den font-tag raus:

lib.parseFunc_RTE.allowTags = b,i,u,a,img,br,div,pre,sub,sup,p,strong,em,li,ul,ol,blockquote,strike,del,ins,span,h1,h2,h3,h4,h5,h6,address

aber die font-tags bleiben leider drin.
wir haben TYPO3 Ver. 4.5.4
Hat jemand eine Idee?

cephei ·

Hi

akademik aus dem typo3forum.net meinnt, dass bei ihm folgendes hilft:

TSConfig der Root Seite

RTE.default {
  showButtons =
  bold,italic,undo,redo,orderedlist,unorderedlist,outdent,indent,link
  enableWordClean = 1
  removeTrailingBR = 1
  removeComments = 1
  removeTags = center, font,
  removeTagsAndContents = style,script
}

und in den Constants:

content.RTE_compliant.mode = fontwrap
content.RTE_compliant.mode = stylesheets

Anschliessend kannst du angeblich die font tags löschen und sie erscheinen nicht mehr. Keine Ahnung obs klappt.

zabinetta ·

Hallo cephei,
hm, danke.
hab

content.RTE_compliant.mode = stylesheets

probiert, hilft aber nicht und ist glaube ich auch nicht das richtige Mittel.

Die Font-tags, die ich in der Seite nicht haben will, hat jemand in der einen Seite vollkommen absichtlich eingebaut, um die Textfarbe zu ändern. im Layout von der anderen Seite passt diese Farbe aber nicht.
Ich will die font-tags lieber nicht löschen, denn der Site, in dem das original CE steht, braucht die Font-tags, darum war meine Idee, sie im RTE/Backend stehen zu lassen, und beim parsen aussortieren.
wenn das geht o.O

Unbekannter Benutzer ·

Im Grunde ist dein Ansatz schon richtig, aber ich vermute fast, dass die font Tags die Du meinst gar nicht über den RTE reinkommen sondern aussen herum gewrappt werden. Dann müsstest du danach forschen in deinem TS.

zabinetta ·

hallo Kitsunet,
doch, die font-tags kommen über den RTE rein.
wenn ich dort auf die Quelltext-Ansicht umschalt, seh ich sie:

E-Mail: <a href="mailto:schulze@meinkunde.de" class="mail"><font color="#002244">Herr Schulze</font></a>

vermutlich haben die diesen fonttag auch mit der HTML-Ansicht reingetan... hilft aber in dem Fall nichts.

gibts nicht doch noch eine Möglichkeit, den Font-Tag per Typoscript rauszunehmen (es wär mir wirklich unangenehm, das nachher mit javascript zu machen)

cephei ·
zabinetta schrieb

Die Font-tags, die ich in der Seite nicht haben will, hat jemand in der einen Seite vollkommen absichtlich eingebaut, um die Textfarbe zu ändern. im Layout von der anderen Seite passt diese Farbe aber nicht.

Wie Derjenige das gemacht hat, wirst du sicher irgendwo in deinem TS finden. Wahrscheinlich in der TSconfig bei den RTE Einstellungen.
Wenn du das mit dem Font Tag nur für bestimmte Inhaltselemente oder Seiten haben willst, kannst du ja stattdessen über das feld "layout" ein neues Layout hinzufügen, welches du dann selbst nach deinen wünschen mit CSS formatieren kannst. Das Font Tag brauchst du dann nicht mehr.
Du kannst dann ein Content Element anlegen und deine eigenen Layouts auswählen.

Unter den Seiteneinstellungen deiner root page kannst du in der TSconfig den Layout-Feldern eigene Namen geben.

TCEFORM.tt_content.layout {
  altLabels.0 = Standard
  altLabels.1 = Blaue Schrift
  altLabels.2 = Rote Schrift
  altLabels.3 = Grüne Schrift
}

für ganze Seiten funktioniert das auch:

TCEFORM.pages.layout.altLabels.0 = Standard

Im TS (wo du den Content Marker füllst) kannst du dann die Layouts mit einer Klasse wrappen.

temp.col2 = CONTENT
temp.col2{
  table = tt_content
  select {
    languageField = sys_language_uid
    orderBy = sorting
    where = colPos = 2
  }
  renderObj.stdWrap.innerWrap.cObject{
    key.field = layout
    default=TEXT
    default.value=<div class="content_default"> | </div>
    1=TEXT
    1.value=<div class="content_1"> | </div>
    2=TEXT
    2.value=<div class="content_2"> | </div>
    3=TEXT
    3.value=<div class="content_3"> | </div>
  }
  wrap = <div class="content_col_2"> | </div>
}

Die Schriftfarbe stellst du dann einfach über die Klasse per CSS ein.