TinyMCEの質問2点 「ボタンのカスタム」と「templateへの追加」

質問全般・改善要望
返信する
yasu
メンバー
メンバー
記事: 103
登録日時: 2009年9月09日(水) 17:54

TinyMCEの質問2点 「ボタンのカスタム」と「templateへの追加」

投稿記事 by yasu »

[modx] バージョン:1.0.5J
[サーバ]
 ホスト:エックスサーバー
 PHPバージョン:5.2.14
 DB:5.0.77


TinyMCEについて質問させてください。
質問は2点あり、スレを分けないとダメなんでしょうがご了承ください。
tinymceバージョン:3.3.9.3

1、ボタンをカスタムで追加する件

TinyMCEにボタンを追加しようと思い、グローバル設定からカスタムを選び追加しました。
例えば「template」を追加したくて、プラグイン設定とカスタムボタンのRow3の両方に追加したら、
無事に「template」のボタンが表示されて使えるようになったのですが、
顔文字のプラグイン「emotions」の場合だと、同じようにやっても表示されませんでした。

そこで[plugins → tinymce]内の、「functions.php」の72行目にあるcreativeの設定をしている箇所に
下のように「emotions」を追加したところ、クリエイティブで表示されるようになりました。

コード: 全て選択


case 'creative':
$plugins = 'inlinepopups,autosave,advlist,layer,style,fullscreen,advimage,advhr,paste,advlink,media,contextmenu,table,emotions';
$buttons3 = 'insertlayer,absolute,moveforward,movebackward,|,tablecontrols,|,fullscreen,help,emotions';

このように、「plugins\tinymce\jscripts\tiny_mce\plugins」内にあるプラグインでも、カスタムだとボタンによって表示されたりされなかったりするのは、設定の方法が違うのでしょうか?
ユーザー管理での設定は、グローバル設定を利用にしています。


それと、カスタムボタンのRow4に入力しても表示されなかったので、「functions.php」の107行目のあとに

コード: 全て選択

$buttons4 = $params['custom_buttons4'];
を追加すると表示されるようになりましたが、これは「記述忘れ?or なにか問題があるから?」どちらでしょうか?
今は4段も使わないので、特に支障はなかったのですが・・・。



2、TinyMCEのプラグイン templateに追加する件

こちらは配布元などいろいろと調べたのですが、使い方が分からないので質問いたします。

効率化を図りたくてtemplateに登録できたらと思いボタンを表示させたのですが、
肝心のテンプレートの登録の仕方が分かりません。
サンプルでも登録されていれば分かったのかもしれませんが・・・。

すみませんが、登録方法を教えて頂けないでしょうか?

よろしくお願いします。
soushi
管理人
記事: 224
登録日時: 2009年7月30日(木) 01:59

Re: TinyMCEの質問2点 「ボタンのカスタム」と「templateへの追加」

投稿記事 by soushi »

soushiです。
yasu さんが書きました: TinyMCEにボタンを追加しようと思い、グローバル設定からカスタムを選び追加しました。
例えば「template」を追加したくて、プラグイン設定とカスタムボタンのRow3の両方に追加したら、
無事に「template」のボタンが表示されて使えるようになったのですが、
顔文字のプラグイン「emotions」の場合だと、同じようにやっても表示されませんでした。
こちらでグローバル設定からTinyMCEのテーマをカスタムにして「カスタムテーマのプラグイン設定」「カスタムボタン」にemotionsを入れたところ特に問題なく表示できました。
クリエイティブ(creative)というテーマでは元々emotionsの設定がないため、yasuさんの書かれたような修正を行わないと表示されないみたいですね。
yasu さんが書きました: それと、カスタムボタンのRow4に入力しても表示されなかったので、「functions.php」の107行目のあとに

コード: 全て選択

$buttons4 = $params['custom_buttons4'];
を追加すると表示されるようになりましたが、これは「記述忘れ?or なにか問題があるから?」どちらでしょうか?
今は4段も使わないので、特に支障はなかったのですが・・・。
こちらは単純にバグですね…報告ありがとうございます。
次回リリースで修正します。
yasu さんが書きました: 2、TinyMCEのプラグイン templateに追加する件

こちらは配布元などいろいろと調べたのですが、使い方が分からないので質問いたします。

効率化を図りたくてtemplateに登録できたらと思いボタンを表示させたのですが、
肝心のテンプレートの登録の仕方が分かりません。
サンプルでも登録されていれば分かったのかもしれませんが・・・。
こちらで一度設定してみました。
手順がちょっと面倒ですが、こんな感じで行けました。

ファイル作成:/assets/plugins/tinymce/template_list.js

コード: 全て選択

var baseTemplatePath = "assets/plugins/tinymce/";
var tinyMCETemplateList = [
    ["temp1",   baseTemplatePath + "templates/temp1.html", "temp1"],
    ["temp2",   baseTemplatePath + "templates/temp2.html", "temp2"]
];
テンプレート作成:/assets/plugins/tinymce/templates/temp1.html ,/assets/plugins/tinymce/templates/temp2.html
※中身は適当に。

MODx管理画面->エレメント->エレメント管理->プラグイン->TinyMCE Rich Text Editorを開く。
「設定」タブの「Custom Parameters」というパラメータを次のように変更。

コード: 全て選択

valid_elements : "*[*]",
↓変更

コード: 全て選択

valid_elements : "*[*]",
template_external_list_url: "assets/plugins/tinymce/template_list.js",
最後にTinyMCEのカスタムテーマでtemplateボタンを出すように設定するとテンプレートのリストが表示されると思います。
あと設定最中にjsが見事にキャッシュされるようで、設定しても全然変更されない事がありました。
なのでうまくいかない時はブラウザのキャッシュをクリアしたりしてみるといいかもしれません。
またapacheのログを見ているとファイルへのパスが間違っている場合はすぐに把握できるので、問題解決に役に立つと思います。

適当に設定したのであまり汎用性はないですが、御参考までに :)
ちなみに僕が参考にしたサイトは以下です。

[concrete5でTinyMCEのテンプレートプラグインを使用する]
http://sharedhat.com/blog/1178/
yasu
メンバー
メンバー
記事: 103
登録日時: 2009年9月09日(水) 17:54

Re: TinyMCEの質問2点 「ボタンのカスタム」と「templateへの追加」

投稿記事 by yasu »

soushiさん、ありがとうございます。

templateの設定はうまくいきました。
ここ2か月のモヤモヤが吹き飛びました(笑


TinyMCEのカスタムボタンの件ですが、
どうも、グローバル設定でカスタムを選択した状態で、
権限管理>ユーザー管理で設定する「TinyMCEの設定」で、グローバル設定を利用を選択していても、
ユーザー管理でカスタムを選択したと認識されているようです。


私の環境だと、グローバル設定でカスタムを選んでボタンの追加をしても何も変化がなかったのですが、
権限管理>ユーザー管理のカスタムボタンに追加をすると、「グローバル設定を利用」にしているにもかかわらず、
ボタンが表示されるようになりました。
※すべてデフォルト値にもどして、emotionsとtemplateの2つでテストしました。

昨日は、ユーザー設定にもemotionを入れていたので表示されたと勘違いしていたようです。


【ex1】
グローバル設定: カスタム
ユーザー設定: グローバル設定を利用 (デフォルト値 + emotionsとtemplateを追加)
結果: 「ユーザー設定」でカスタムボタンに設定したボタンが表示

【ex2】
グローバル設定: シンプルやクリエイティブなどカスタム以外を指定
ユーザー設定: グローバル設定を利用 (デフォルト値 + emotionsとtemplateを追加)
結果: グローバル設定で指定したボタンが表示


soushiさんの環境だと問題なく設定できたようなので、私の環境によるものなのでしょうか?
soushi
管理人
記事: 224
登録日時: 2009年7月30日(木) 01:59

Re: TinyMCEの質問2点 「ボタンのカスタム」と「templateへの追加」

投稿記事 by soushi »

soushiです。

templateの設定うまくいってよかったです :D
パスなんかは結構適当に書いてしまったので、適宜使いやすい場所に変えてもらえればと思います。
yasu さんが書きました:TinyMCEのカスタムボタンの件ですが、
どうも、グローバル設定でカスタムを選択した状態で、
権限管理>ユーザー管理で設定する「TinyMCEの設定」で、グローバル設定を利用を選択していても、
ユーザー管理でカスタムを選択したと認識されているようです。
こちらでも現象が出る事を確認しました。
うーん、バグっぽいですね…今は調べる時間がないので、後日調査させてくださいー。
yasu
メンバー
メンバー
記事: 103
登録日時: 2009年9月09日(水) 17:54

Re: TinyMCEの質問2点 「ボタンのカスタム」と「templateへの追加」

投稿記事 by yasu »

お忙しい中、検証ありがとうございました。
今はユーザーが少ないサイトしか運営していないので、ユーザー設定を優先して対応していきます。


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

Re: TinyMCEの質問2点 「ボタンのカスタム」と「templateへの追加」

投稿記事 by yama »

http://forum.modx.jp/viewtopic.php?p=5062#p5062
Templateボタンはこちらで対応しました。グローバル設定で既存リソースやチャンクの内容を登録できます
返信する