TinyMCE の編集ボタンの配置カスタマイズ方法

2012年1月31日 17:14 TinyMCE の編集ボタンの配置カスタマイズ方法

以前、自作のフォームに TinyMCE を導入して WYSIWYG エディタにする方法という記事を書きましたが、今回はその続編です。

上記の記事のコードを元にTinyMCEを自作フォームのtextareaに適用すると、編集用のツールバーには四行にわたって大量のボタンが表示されます。

もちろんWYSIWYGエディタなので多機能なのは良いのですが、中には「これいらねーだろ」ってボタンや、インターフェイスによっては「色々あると重すぎるから必要なボタンだけでいいや」というケースなんかもあるかと思います。

そういった場合、TinyMCE設置用のJavaScriptの以下の部分を修正すれば、設置するボタンの種類を変更できます。

<script language="javascript" type="text/javascript">
tinyMCE.init({
	mode : "textareas",
	theme : "advanced",
	plugins : "safari,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,imagemanager,filemanager",

	// 以下の四行が各行のボタンの設定箇所
	theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
	theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
	theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
	theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage",
	// ↑ボタン配置設定ここまで↑
	theme_advanced_toolbar_location : "top",
	theme_advanced_toolbar_align : "left",
	theme_advanced_statusbar_location : "bottom",
	theme_advanced_resizing : true,

	content_css : "styles.css",
});
</script>

それぞれ、「theme_advanced_buttons1」「theme_advanced_buttons2」「theme_advanced_buttons3」「theme_advanced_buttons4」が、一~四行目に何のボタンを配置するかという設定部分です。

それぞれの行に「save,newdocument,|,bold,italic,underline,strikethrough,|,...」という具合に、カンマ区切りで設定するボタンの種類が書かれています。
それぞれのボタンがどういう名前と紐付けられているかは、実際の画面と比較すれば容易でしょう。
また、「|」は区切り線です。区切り線をツールバー内に入れる場合も、「|」自体をカンマで区切って入れます。

上記のコードでは四行にわたってツールバーが表示されますが、この行数を減らしたい、という場合、表示したくない行以降の「theme_advanced_buttons*」の項目自体を削除してしまえば大丈夫のようです。
ただし、例えば、

	theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
	theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
	theme_advanced_buttons3 : "",

という風に、「この行からは要らないよ」という行の設定を「""」で空に設定しないと、環境によっては空行が挿入されて見た目が変になってしまったりしてしまうケースがあるようですので注意。

関連するブログ記事
スポンサード リンク
カテゴリー
JavaScript
タグ
JavaScript | textarea要素 | TinyMCE | WYSIWYG | xhtml

コメント(9) | トラックバック(0)

 

jQuery でフォームの値を取得・変更する方法

input要素等の値を取得する

jQuery を利用してフォームの値を取得するには、

// 変数 Fvalue にフォームの値を代入
var Fvalue = $("#id").val();

とやればOKです。

JavaScript でやろうとするとループを回したりして色々めんどくさい select要素によるドロップダウンの値も、val() だけで取得できるので非常に楽ちんです。

input要素に値をセットする

逆に、フォームの input要素に値をセットする(変更する)には、

// #id の値を「1」に変更
$("#id").val(1);

とやればOKです。

関連するブログ記事
カテゴリー
jQuery
タグ
input要素 | JavaScript | jQuery | val

コメント(7) | トラックバック(0)

 

jQuery で iframe 内のウィンドウから親ウィンドウの要素を操作する方法

本日も jQuery の小ネタメモ。

いわゆるLightbox風のインターフェイスが流行している影響で、インラインフレーム(に見えないUIだけど)内のウィンドウから、呼び出し元である親ウィンドウの要素を操作する、という処理は多用する機会が増えたなあ、という印象がありますね。

親ウィンドウの要素を操作する時は、

parent.$("#id").addClass('ClassName');

とか、

parent.$("p").html('カラオケ行きたい。');

とか、まあ普通の JavaScript と同じように parent で親ウィンドウを指定すればOKです。

関連するブログ記事
カテゴリー
jQuery
タグ
iframe | JavaScript | jQuery | parent

コメント(12) | トラックバック(0)

 

jQuery で指定した要素のスタイルを変更する方法

jQuery の超小ネタメモ。

ボタンクリックに合わせて、特定要素の背景色や文字色を変えたりというインターフェイスを実現するには、jQuery を使うのが手っ取り早いですね。

// div要素の文字色を変更
$("div").css("color","#9932cc");

上記のように、変更したいスタイルのプロパティと値をカンマ区切りで指定します。

複数のスタイルを一気にしたいする場合は、以下のようにさらにカンマ区切りで続ければ良いです。

// div要素の文字色と背景色の変更
$("div").css("color","#9932cc", "background-color", "#000000");

何らかのアクションに合わせて、ブロック要素の表示・非表示の切り替えをしたりするのもよくやりますが、これも display:none; と display: block; (または display: inline; etc) を切り替えれば良いわけですね。

// id="mesage" を非表示にする
$("#message").css("display", "none");

// id="message" を表示する
$("#message").css("display", "block");

クラスの追加と削除

上記のように css() を使って直接スタイルを指定するのも良いですが、デザインとの一元管理を考えると、クラスの追加・削除を活用した方が良いかもしれません。

// div要素にクラスClassNameを追加
$("div").addClass("ClassName");

// div要素からクラスClassNameを削除
$("div").removeClass("ClassName");

クラスAをクラスBに変更したい場合は、removeClass("ClassA") で削除した後に、addClass("ClassB") で追加してやれば、結果的にClassA が ClassB に変わったことになりますね。

関連するブログ記事
カテゴリー
jQuery | スタイルシート(CSS)
タグ
addClass | css | JavaScript | jQuery | removeClass

コメント(16) | トラックバック(0)

 

『WebデザイナーのためのPHP入門講座』の講師をします【1/28(土) 神戸・カフーツ】

非プログラマなWeb屋のみなさん!

プログラマじゃなくてもちょこっとPHP知ってると色々と便利だし、プログラマな人に仕事を頼む時も話がしやすくなりますよ!!

というわけで、いつも大変お世話になっている神戸のコワーキング・スペース カフーツさんの主催で『WebデザイナーのためのPHP入門講座』の講師をさせて頂くことになりました。

本格的にプログラミングを学ぶというよりも、普段HTMLのコーディングやWebデザインを生業にしている方にとって、ちょっと知っておくと得するようなPHPの使い方をお伝えする内容になっております。

ぜひぜひお気軽にご参加くださいねー!

『WebデザイナーのためのPHP入門講座』の詳細・お申込みはこちら

関連するブログ記事
カテゴリー
PHP | セミナー/講習会
タグ
PHP | セミナー

コメント(18) | トラックバック(0)

 

このブログについて

阿部辰也

Webコンサルタントやシステムエンジニア、執筆業などをやっている、グッドホープ代表・阿部辰也のブログです。
Web技術系のTipsから仕事の話、趣味の話まで色々と。
人生は所詮生まれてから死ぬまでの壮大な暇つぶし。
だったら有意義に暇をつぶして生きましょー。

阿部辰也へのお仕事のご依頼・問合せはこちらからどうぞ。

Twitter: @t_abe
読書メーター: ID:Tatsuya

このブログのサイトマップ
このブログのはてなブックマーク数

Feed/RSS購読

タグクラウド

最近のトラックバック

阿部辰也の著書

77のキーワードで知る インターネットで稼ぐ 図解 ブログ・メルマガ・Webサイト構築の基本

77のキーワードで知る インターネットで稼ぐ 図解 ブログ・メルマガ・Webサイト構築の基本

頑張って書いたのに、出版後すぐに出版社が倒産して印税も貰えずじまいで俺涙目(笑)。

Powered by Movable Type 5.02

スポンサード リンク

はてなブックマーク



あわせて読みたい

t-abeの今読んでる本

t-abeの最近読んだ本

t-abeの今やってるゲーム

t-abeの最近やったゲーム