ページ 11

TinyMCEの設定のユーザへの反映  【解決済み】

Posted: 2012年9月16日(日) 22:43
by kazuike
-----
MODXのバージョン:1.0.6J-r6
-----

グローバル設定のTinyMCEの設定が、個々のユーザに反映されないようです。

すべて確認したわけではありませんが、
グローバル設定で「テーマ」を変更すると、Administratorのみ反映される。
グローバル設定で「CSSスタイルセレクタ」を変更しても、誰にも反映されない。
というような現象が起きています。

ユーザ側のTinyMCEの設定を変更していない既存のユーザ
グローバル設定変更後に作成した新規ユーザ
どちらも反映されないようです。

Re: TinyMCEの設定のユーザへの反映

Posted: 2012年9月17日(月) 00:47
by yama
確認しました。細かく報告いただいた内容を見て、それぞれ微妙に原因が違いますね。

> CSSファイルへのパス
これはもともと「グローバル設定を参照する」という仕様がありません。

> テーマ

「グローバル設定を参照する」がデフォルト値であるべきですが、そうなっていません。

あとで修正します。

Re: TinyMCEの設定のユーザへの反映

Posted: 2012年9月18日(火) 15:10
by yama
パッチの内容をTinyMCEのプラグイン設定画面にペーストし直して更新していただけますでしょうか。
今回は指摘された部分だけを直しましたが、後日また改めて全体的に見直してみたいと思います

Re: TinyMCEの設定のユーザへの反映

Posted: 2012年9月20日(木) 23:54
by kazuike
遅くなってすみません。

パッチ使わせていただきました。

「テーマ」については、
ユーザ個別の設定を「グローバル設定を利用」に変えて保存しても、
次に開くと「MODXデフォルト」に戻っています。
ただし、TinyMCEの画面は、グローバル設定の内容が反映されていますので、
ユーザの設定画面のフォーム上の問題のような気がします。

「CSSスタイルセレクタ」については、
グローバル設定の内容に関係なく、
作成したユーザには必ず「左寄せ=justifyleft;右寄せ=justifyright」が入っています。
私の扱っているサイトでは、TinyMCEの設定をユーザ個別に変えることは無いので、
ユーザ全員の設定を変更して回らないといけないというのは、ちょっと厳しいのですが。 :(
たとえば、classが追加になったりした場合等を考えると、
これは、新規ユーザだけでなく、既存ユーザについても同様です。

できれば、グローバル設定をベースにして、
ユーザ個別の設定で、追加・削除ができると良いような気はしますが…
(もしくは、グローバル設定の中から使用するものをユーザ個別に選択できるとか)

Re: TinyMCEの設定のユーザへの反映

Posted: 2012年9月21日(金) 00:55
by yama
このへんはMODX本体の設計不備が絡んでるので、TinyMCE側で少し工夫する必要がありますね。対症療法になりますが、のちほど修正しますのでもうしばらくよろしくお願いします。

Re: TinyMCEの設定のユーザへの反映

Posted: 2012年9月21日(金) 14:12
by yama
あまりきれいな解決ではないですが、このパッチを試してみてください

Re: TinyMCEの設定のユーザへの反映

Posted: 2012年9月21日(金) 15:13
by yama

コード: 全て選択

$uid = $modx->getLoginUserID();
if($uid==3) $modx->config['mce_editor_skin']='o2k7';
上記のようなプラグインを作ってOnDocFormPrerenderあたりで上書きするほうがラクかも

Re: TinyMCEの設定のユーザへの反映

Posted: 2012年9月21日(金) 15:30
by kazuike
ありがとうございます。

「CSSスタイルセレクタ」については、
ユーザ作成時のフォームの「CSSスタイルセレクタ」入力欄に、
その時点のグローバル設定の内容がデフォルトで入ってしまうようです。
「CSSスタイルセレクタ」入力欄の内容を削除し空欄にして保存すると、
グローバル設定に連動するようになります。
ただし、ユーザ設定画面を開くと、
「CSSスタイルセレクタ」入力欄に、その時点のグローバル設定の内容が入ってしまいますので、
気づかずにそのまま保存すると、グローバル設定に連動しなくなってしまします。

ユーザの「CSSスタイルセレクタ」が空欄の場合は、TinyMCEにはグローバル設定が適用される仕様のままで、
ユーザ作成画面の「CSSスタイルセレクタ」のデフォルトが空欄で、
ユーザ設定の編集時は、設定されている値がそのまま(つまり空欄なら空欄のまま)。
というようになれば、良いような気がしますが…難しいでしょうか?
#ユーザによって「CSSスタイルセレクタ」を本当に空にするということはできなくなりますが。

テーマの「グローバル設定を利用」については、
ユーザ設定画面で、正しく選ばれた状態で表示されるようになっています。
ありがとうございました。

Re: TinyMCEの設定のユーザへの反映

Posted: 2012年9月21日(金) 15:36
by kazuike
上記のレスは、2012/9/21/(金) 14:12 のパッチに対するものです。
入れ違いになってすみません。

Re: TinyMCEの設定のユーザへの反映

Posted: 2012年9月21日(金) 16:08
by yama
修正してみました。こちらのパッチだとどうでしょう?

Re: TinyMCEの設定のユーザへの反映

Posted: 2012年9月21日(金) 16:27
by kazuike
ユーザ作成時、「CSSスタイルセレクタ」のデフォルトが空欄であること、
ユーザ設定画面を開いたとき、前回の設定内容がそのまま反映されること、
また、
ユーザ設定の「CSSスタイルセレクタ」が空欄の場合にはグローバル設定が、
ユーザ設定の「CSSスタイルセレクタ」が空欄でない場合にはその内容が、
それぞれTinyMCEに反映されることを、確認しました。
ありがとうございました。