WYSIWYGエディタを実装

WYSIWYGエディタをCakePHPにいくつか試してみました。

CKEditor

実装

// head
<?php echo $html->script('ckeditor/ckeditor', array('inline' => 'false')); ?>
// View(~.ctp)
<?php echo $form->textarea('content', array('class'=>'ckeditor')); ?>

解凍してwebroot/jsフォルダ下に配置してhead内で読み込んでください。(jQuery本体も必要です。)
あとは、viewでtextareaにclass="ckeditor"を付与して表示するだけです。
CKEditor デモ


TinyMCE

実装

// head
<?php echo $html->script('tinymce/tiny_mce', array('inline' => 'false')); ?>
// View(~.ctp)
<?php echo $form->textarea('content'); ?>
<script type="text/javascript">
tinyMCE.init({
    mode : "textareas"
});
</script>

解凍してwebroot/jsフォルダ下に配置してhead内で読み込んでください。(jQuery本体も必要です。)
TinyMCE デモ

TinyMCEドキュメント


  • このエントリーをはてなブックマークに追加

関連記事

no image

ビルトインされたバリデーションルール

CakePHP標準で多くのバリデーションルールが搭載されています。 ソース:/cake/libs/validation.php email / maxLength / minLength /

no image

シンプルに設置できる数字Captcha「MathCaptcha」

スパム防止などで利用されているCaptchaですが、数字版で使えるものがないか探してみました。 この「MathCapthca」は非常にシンプルに設置できるのはいいですが、やっぱりクエスチョンの部分は

no image

Debugkitをインストール

CakePHPのデバッグツールとしてはデファクトスタンダードといってもいいDebugkitをインストールしました。 ダウンロード CakePHP 1.3用 https://github.com

no image

recursive設定によるfind()性能改善

CakePHPでは、モデルにアソシエーションを設定している場合、recursive(=>joinする階層)はデフォルトで0に設定されています。「recursiveゼロ」の意味するところとは、「1跨ぎま

no image

Jsヘルパーを使用してAjax更新

更新処理でページ遷移を伴う場合、ページ全体をレスポンスするのに対して、Ajax処理ではページの一部のレスポンスが可能となるためサーバからの通信量を抑えることが可能となります。 Jsヘルパーを使用して

Cookieログイン

今回は、「keep me logged in」などログイン画面でよくみかけるクッキーログインの機能を使ってみます。 CakePHPには、Cookieコンポーネントがあります。(PHPのsetcook

複数ファイルアップロード

CakePHPで複数ファイルのアップロードについて調べてみました。といっても普通のPHPのコードと同じではありますが、postするフィールド名に[]を付与して配列にします。 view

複数データベースの追加と切替

CakePHPで複数のデータベースに切替を行うということがあると思います。(個人的にはあまりない) 今回、CakePHPからWordpressのデータベースへの接続を行う機会があったので設定を試して

ログインに追加の条件を付与する「userScope」

「ユーザ登録」の続きです。 ユーザ登録後、activate(statusを0に設定するを)せずに「仮登録」のままで、正しいusernameとpasswordでログインを試したところ認証に引っかかって

コントローラ内でバリデーション処理を呼び出す

通常、saveメソッドの際にバリデーション処理も自動で行われますが、save処理と切り離してバリデーションを行うこともできます。このときは、save時と若干異なる処理体系になります。 バリデーシ

Comment

@muneando へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

    PAGE TOP ↑