TinyMCE 3.3.2 (modx 1.0.3J)の不具合?  【解決済み】

質問全般・改善要望
返信する
wmo
メンバー
メンバー
記事: 4
登録日時: 2010年4月13日(火) 22:51

TinyMCE 3.3.2 (modx 1.0.3J)の不具合?  【解決済み】

投稿記事 by wmo »

これまで0.9.6.3を使っていましたが、最近出た1.0.3Jにアップグレードしたところ、
Tiny MCEのリンクの挿入をすると「一覧から選ぶ」が表示されなくなりました。

ためしにこれまで使っていたTiny MCE 3.2.0.1に戻すと表示されます。

アップグレードの際になにかし忘れていたのでしょうか。
それともあたらしいバージョンのTinyMCEの不具合なのでしょうか。

よろしくお願いします。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: TinyMCE 3.3.2 (modx 1.0.3J)の不具合?

投稿記事 by yama »

投稿画面のhtmlソースを開いてみて、

コード: 全て選択

external_link_list_url           : 'assets/plugins/tinymce/inc/tinymce.linklist.php',
というようなコードはありますか?この一行が微妙なところで怪しい気はします(パスが実在しないとか)。値がfalseとかになってたらプラグイン側の設定だけで表示されます。linklistをenabledとかだったと思います。
wmo
メンバー
メンバー
記事: 4
登録日時: 2010年4月13日(火) 22:51

Re: TinyMCE 3.3.2 (modx 1.0.3J)の不具合?

投稿記事 by wmo »

yama さんが書きました:投稿画面のhtmlソースを開いてみて、

コード: 全て選択

external_link_list_url           : 'assets/plugins/tinymce/inc/tinymce.linklist.php',
というようなコードはありますか?この一行が微妙なところで怪しい気はします(パスが実在しないとか)。値がfalseとかになってたらプラグイン側の設定だけで表示されます。linklistをenabledとかだったと思います。
上記のようなコードはみあたりません。
みるのは「リンクの挿入・編集」のウィンドウで、
assets/plugins/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm
ですよね。

プラグイン側の設定も問題なくenableになっています。

上記の挿入画面のソースで

コード: 全て選択

		<tr id="linklisthrefrow">
							<td class="column1"><label for="linklisthref">{#advlink_dlg.list}</label></td>
							<td colspan="2" id="linklisthrefcontainer"><select id="linklisthref"><option value=""></option></select></td>
						</tr>
とあるところが機能していないのでしょうか。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: TinyMCE 3.3.2 (modx 1.0.3J)の不具合?

投稿記事 by yama »

TinyMCE自体は問題ないと思います。MODx本体側が何らかの理由でexternal_link_list_urlパラメータを出力していないためリンクリストが機能しないわけなので、その原因を探る必要がありますね。
soushi
管理人
記事: 224
登録日時: 2009年7月30日(木) 01:59

Re: TinyMCE 3.3.2 (modx 1.0.3J)の不具合?

投稿記事 by soushi »

soushiです。

一点確認があります。
TinyMCEはMODxの管理者ユーザ(Backend側)ではなくWebユーザ(Frontend側)で利用しているのでしょうか。
1.0.3のtinymce.linklist.phpの変更点の中に以下の記述がありました。

コード: 全て選択

if ($modx->getLoginUserType() !== 'manager') {
…省略…
    echo "var tinyMCELinkList = new Array();";
    exit();
}
これを見る限りBackend側でのログインではない場合、何も返さないようになっている風に見えます。
もしWebユーザでTinyMCEを利用している場合は以下のように変更したら動くかもしれません(未検証ですが)。

コード: 全て選択

if ($modx->getLoginUserType() !== 'manager') {
↓変更
if ($modx->getLoginUserType() !== 'manager' || $modx->getLoginUserType() !== 'web') {
soushi
管理人
記事: 224
登録日時: 2009年7月30日(木) 01:59

Re: TinyMCE 3.3.2 (modx 1.0.3J)の不具合?

投稿記事 by soushi »

soushiです。

すいません、先ほど投稿してた修正コードですが、判定を間違えていました。
これだとbackuend側でも動かなくなりますね :shock:
正しくはこうです…。

コード: 全て選択

if ($modx->getLoginUserType() !== 'manager') {
↓変更
if ($modx->getLoginUserType() !== 'manager' && $modx->getLoginUserType() !== 'web') {
wmo
メンバー
メンバー
記事: 4
登録日時: 2010年4月13日(火) 22:51

Re: TinyMCE 3.3.2 (modx 1.0.3J)の不具合?

投稿記事 by wmo »

いろいろとありがとうございます。
tinymceはbackendでつかっています。

おしえてもらったassets/plugins/tinymce/inc/tinymce.linklist.phpのファイルをみつけて、いろいろと試してみました。
その結果、なんとなく原因、というかおかしなところがわかりました。
ローカルでもいろいろと試したところ、modxを導入している環境が特殊なようです。

1)config.inc.phpの
$database_connection_charset = 'utf8';
とあるべきところを
$database_connection_charset = ''';
としている。
 これは、データベースが最初に0.9.6.1のころからutf8ではなく、データベース上でずっと文字化けしているためです。
http://www.keiboz.net/modx/info/about-this-site/217? ここである症状です)

ここをutf8にしたら表示されました。
あるいは、tinymce.linklist.phpで、エンコード設定関係のところをなしにしても表示されました。

2)modxのドキュメント数が多い
上記の解決策をしても(ローカルでドキュメント数が少ない状態)、ドキュメント数がある数を超えると、表示されなくなりました。


ということで、結論として、前使っていた3.2.0.1を使うことでとりあえず対応しています。

さらになにかありましたらよろしくお願いします。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: TinyMCE 3.3.2 (modx 1.0.3J)の不具合?

投稿記事 by yama »

http://modxcms.com/forums/index.php/topic,7656.0.html
これが使えるといいんですが

http://modxcms.com/forums/index.php/top ... #msg163819
作者のgarryn曰く、ちょっと難しいらしく。v2系のTinyMCEでしか動かないという。
返信する