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ドキュメント


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

関連記事

n__cakePHP13

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

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

no image

ユーザ登録(仮登録・メール・本登録)

ここ最近は、メールアドレスだけでなく、SNSのアカウントと連携してユーザ登録することもできるWebサービスが増えてきましたね。ユーザは割合としてどちらを選んでるのか気になるところですが。私はできるだけ

n__cakePHP13

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

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

no image

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

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

n__cakePHP13

Textヘルパー

Textヘルパーには、テキスト処理に関する便利な機能があります。リンク付与やテキストの抜粋・ハイライトや切り取り処理など。ソース:/cake/libs/view/helpers/text.php

n__cakePHP13

メール送信(qdmail)

CakePHP(+qdmail)でメール送信する処理を実装しました。 準備 2つのライブラリ(.php)をダウンロードし、以下のように配置して下さい。 app/controllers/compo

no image

Secutiryユーティリティ

CakePHPでは、データのハッシュ化もしくは暗号化のためのメソッドSecurityユーティリティが用意されています。 ソース: /cake/libs/security.php Security:

no image

validateErrors と validationErrors

CakePHP試験中に気付いたことがあって、メモです。 $this->validateErrors自身バリデーション処理している 今まで、save時にバリデーションエラーメッセージををログに出力し

n__cakePHP13

Cookieログイン

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

n__cakePHP13

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

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

Comment

Message

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


*

PAGE TOP ↑