3

EPiServer CMS プロジェクトの TinyMCE エディター スタイルシートにカスタム CSS プロパティを実装しようとしています。

EPiServer SDK によると、カスタム スタイルを TinyMCE スタイル ドロップダウンに追加するには、使用する予定のスタイル クラス内で EditMenuName プロパティを使用する必要があります。

このようなもの:

.h1 {
    font-size: 2.5em;
    EditMenuName: Heading 1;
}

EditMenuName をプロパティ名として Less ファイルに追加すると、コンパイル エラーが発生します。

これはまったく可能ですか?

4

1 に答える 1

2

更新: この問題は、LESS 1.4.2 のリリースで解決される予定です。

あなたの問題は大文字です

これをこの質問の複製として閉じるというコンセンサスがないように思われるので、ここで同様の回答をします。

LESS (意図的な設計によるものなのか、意図しない機能の欠如によるものなのか、単にバグによるものなのかはわかりません)現在(この投稿の時点で) 、プロパティ名に大文字を使用することはできません。これは、機能しないような標準のプロパティにも当てはまりますColor:。だからあなたの...

EditMenuName: Heading 1; 

...これら2つのバリエーションである必要があります...

editmenuname: Heading 1; 
edit-menu-name: Heading 1;

...どれも TinyMCE と接続する可能性はありません。その他の答えで自分自身を引用するには:

私は、実際の LESS コード自体でこれが修正される可能性のある場所を特定していません (LESS がプロパティ ルールを処理する方法を修正できる場合)。原因はparser.js ファイルの 1578 ~ 1584行目 (この記事の執筆時点) にあると思われます。

property: function () {
  var name;

  if (name = $(/^(\*?-?[_a-z0-9-]+)\s*:/)) {
    return name[1];
  }
}

これは、大文字を許可して除外しているようです。その正規表現がそれらを許可するように変更された場合、結果がどうなるかわかりません。

したがって、必要に応じてインターフェイスを作成する唯一の可能性は次のいずれかです。

  1. 大文字を許可するように LESS を修正します (おそらく上記のコードを微調整することによって)。
  2. プロパティ名に CamelCasing が含まれないように TinyMCE のプロパティ値を変更できるかどうかを確認します。
于 2013-07-02T01:34:36.143 に答える