2

ユーザーが RTE で詳細、重要、人物の名前などのテキストスタイルを選択できるようにしたいと考えています。CSS を定義したいので、このオプションを RTE に表示する必要があります。CSS スタイルはspan、色のみを設定する必要があります。

現在、次のコードがあります。

RTE.classes{
  highlight{
      name = test
      value = color:#0A8AD2;
  } 
}

RTE.default{
  ignoreMainStyleOverride = 1 
  useCSS = 1
  contentCSS = fileadmin/templates/css/rte_formats.css
  classesCharacter := addToList(highlight)
  classesParagraph := addToList(highlight)
  proc.allowedClasses := addToList(highlight)
}

CSSファイルの内容は、

span.highlight, p.highlight {
    color:#0A8AD2;
}

ただし、新しく追加されたスタイルはドロップダウン (textstyle) には表示されません。また、rtehtmlarea 構成で「追加のインライン要素」を有効にしました。私もshowTagFreeClasses成功せずに設定などを試みました。次に、キャッシングの問題について読みました。RTE キャッシュとブラウザー キャッシュを削除しました。まだ結果が出ていません。何が間違っている可能性がありますか?

4

1 に答える 1

4

あなたは基本的に正しい軌道に乗っています!

inlineStyle を使用してかなりの問題を経験しました。contentCSSそのうちの 1 つは、インラインを機能させるため に明示的に定義を解除する必要があることです(設定だけignoreMainStyleOverride = 0では十分ではありません!)。

RTE.default.contentCSS >

私は個人的に専用の外部 CSS ファイルを好みます。知っておくべき重要なことは、TYPO3 RTE は実際にこの CSS ファイルを解析し、実際にそこにあるクラスのみを提供するということです!
そのため、contentCSSパラメータを使用して CSS を定義する必要があり、この CSS には、ユーザーが利用できるようにするクラスが実際に含まれている必要があります。これを定義する方法は次のとおりです。

# TS-Config
RTE.default.ignoreMainStyleOverride = 1
RTE.default.contentCSS = fileadmin/templates/css/rte_formats.css

CSS ファイルは特定の URL に存在する必要があり、提供する CSS クラスの定義が含まれている必要があります (前述のように、CSS ファイルは実際に解析され、不足しているクラスはドロップダウン セレクターに表示されません)。

/* content of rte_formats.css */
/* span. needed for RTE.default.classesCharacter */
/* p.    needed for RTE.default.classesParagraph */
span.highlight, p.highlight{ color:#0A8AD2; }

もう 1 つのヒント:
allowedClasses を独自のクラス名で上書きするのではなく、それらに追加することをお勧めします。

RTE.default.proc.allowedClasses := addToList( highlight, myOtherClass, myThirdClass )

幸運を!

于 2012-01-05T15:59:20.333 に答える