Logicky Blog

Logickyの開発ブログです

CakePHP

cakePHP2.3 mPDFを使ってPDFを出力する(レイアウト・ビューを使ってPDFを作成しサーバに保存する)

mPDFのcakePHP用コンポーネントを作ってくれている人がいるのでそれを使った。 コンポーネントの説明も分かりやすいし、操作も簡単なので有り難い。 このコンポーネントを使って出力すると下記のようになる。 public $components = array('Mpdf'); public fu…

cakePHP2.3 cron (さくらサーバ)

はまりにはまって、ようやく、さくらサーバでのcakePHPのcronができました (ToT)/ cakePHPのConsole用cake.phpから、作成したShellを呼び出すんですね。 Consle用のcake.phpは、/appフォルダから呼び出さないといけないらしい。 下記が、さくらのcronの実行…

cakePHP2.3 エレメントへに変数を渡す

エレメントは、エレメントを呼び出すビューで定義した変数は、そのままでは使えません。 ただし、コントローラでセットした変数は、そのままで使えます。 ビューの中でforeachとかした場合、どうしてもビューの中で定義した変数をエレメントで使用する必要が…

cakePHP2.3 エレメントからコントローラーにアクセスする(requestAction)

エレメント(例:/Elements/job/sub_search_box.ctp)の中で、下記のように使う。これでエレメントを表示する前に、コントローラーにアクセスして必要な情報を取ってきてくれる。 requestAction('/jobs/get_list') ?> 上記の/jobs/get_listのコントローラー…

cakePHP2.3 Formヘルパー datetimeのセレクトボックスを年月日区切りにする

Formヘルパーのdatetimeのセレクトボックスで、簡単に下記のような感じで”年月日”区切りにする。 (1) /lib/Cake/View/Helper/FormHelper.phpを、/app/View/Helperにコピーする。 (2)コピーしたFormHelper.phpの、下記の部分を修正する。 //$opt = implode($s…

cakePHP CKEditorヘルパー(見たまま編集エディター)

[CakePHP] CKEditorヘルパー(見たまま編集エディター) ここれは、便利そうだ! 追記(2013年8月6日): php/フレームワーク/CakePHP2.X/CKEditor

cakePHP Form dateのセレクトボックスを日本語にする

参考: 日付セレクトボックスを日本語にする Form->input('birthday', array('dateFormat' => 'YMD', 'maxYear' => date('Y'), 'minYear' => date('Y')-100, 'monthNames' => false, 'label' => array('text' => '誕生日')));?>

cakePHP2.3 Ajaxな投稿画面の処理例

Jsヘルパー使ってAjaxなフォームをビューでつくる コントローラーで処理してAjax用ビューに渡す Ajax用ビューを表示先の要素に表示する 以上でございます。 Ajaxなビュー Form->create('JobFile',array('type'=>'file'));?> <table> <tr><td>送受信タイプ</td><td>Form->input('type'</td></tr></table>…

cakePHP Transitionコンポーネント

便利らしい。調べよう。fileBinderの例文で使われているので調べた。多分これだろう。 24時間cakePHP Transitionコンポーネント1.0 24時間cakePHPといのはいい名前だな。 ↓TransitionComponentの紹介記事 TransitionComponent for CakePHPで簡単確認画面実装…

cakePHP 2.3 ファイルアップロード - FileBinderプラグイン

最初、FileBinderを使おうと思ったが、uploadのが人気ありそうなので、uploadを使ってみようと思った。しかし結局日本人が作ってるし、まだ元気なプラグインだとどこかに書いてあったのでFileBinderを使うことにした。こっちのが書くこと少なくてすみそうだ…

cakePHP 2.3 JsヘルパーでAjaxなsubmitボタン

Js->submit('登録',array('update'=>'.add_result','url'=>'/vendors/add', 'with'=>'#add_form','class'=>'btn btn-primary'));?> Js->writeBuffer(array('inline'=>false));?> updateが、かえってきた内容の表示先。withは、対象formの指定。 これで、コン…

cakePHP2.3 エレメント・ブロック

http://book.cakephp.org/2.0/ja/views.html // sidebarブロックを作成する $this->start('sidebar'); echo $this->element('sidebar/recent_topics'); echo $this->element('sidebar/recent_comments'); $this->end(); // sidebarの末尾に追加する $this->a…

cakePHP 2.3 Buttonをクリックしたら別ページに飛ぶ(onClick)

<button onclick="location.href='<?php echo $this->html->url('/buildings/add/' . $customer_id);?>';">物件追加</button>

cakePHP 2.3 AjaxなPagination

はまりにはまったができた。 コントローラー class CustomersController extends AppController { public $components = array('RequestHandler'); public $helpers = array('Js','Paginator'); public $paginate = array( 'limit' => 5, 'order' => array( …

cakePHP 2.3 JSONビュー

http://book.cakephp.org/2.0/ja/views/json-and-xml-views.html 1.ルーターの設定をする。 Router::parseExtensions('json'); 2.コントローラーで、RequestHandlerComponent を有効にする。 public $components = array('RequestHandler'); 3.ビューは、専…

cakePHP 2.3 View内でjavascriptを追加する

http://book.cakephp.org/2.0/ja/views.html Html->script('carousel', array('inline' => false)); $this->Html->css('carousel', null, array('inline' => false)); ?> // レイアウトファイルの中 <html lang="en"> <head> <title><?php echo $this->fetch('title'); ?></title> </head></html>

cakePHP Bakeのコマンド(Xampp)

XAMPP使っているので、XAMPPフォルダの中にあるhtdocsフォルダにプロジェクトフォルダがある。 $ cd /Applications/XAMPP/xamppfiles/htdocs/プロジェクト名/app/console $ php cake.php bake model all $ php cake.php bake controller all $ php cake.php …

WordPress ContactForm7からのREST

ContactForm7のフォーム情報をサーバに飛ばす WordPress ContactForm7は、/includes/classes.phpがメインっぽいファイルで、WPCF7_ContactFormクラスに色々な処理が記載されている。 function setup_posted_data()で、メールフォームのフォーム情報をゲット…

cakePHP Paginator Sort 任意の順番でソートさせる

cakePHPのPaginatorのsort機能は便利だが、例えばフィールドに格納されている内容が、"非常に忙しい"、"忙しい"、"平均的"、"暇"、"すごく暇"といった文字列になっている場合、忙しい順に並べたいと思っても、cakePHPは日本語が読めないし、意味も分からない…

cakePHP 2.3 Paginator (GET)

まずコントローラで、$paginatorの設定を行う。 public $paginate = array( 'limit' => 25, 'order' => array( 'User.id' => 'asc' ) ); 次に検索条件の設定が必要であれば行う。 $conditions = array('User.name' => 'taro'); findの代わりにpaginatorを使…

cakePHP 2.3 パラメタへのアクセス

リクエストパラメータにアクセスする方法は3つある。 $this->request['controller']; $this->request->controller; $this->request->params['controller']; 上記はすべて同じ値にアクセスする。 クエリ文字列は、下記のようにアクセスする。 $this->request…

cakePHP モデル Tips

list アソシエーションがあるモデルでForm上でセレクトボックスを作成する予定がある場合、find('list')を使う可能性はきわめて高いが、listとして得られる値は、フィールド名がnameかtitleのいずれかがあれば、それがデフォルトのValueとされる。find('list…

cakePHP HTMLヘルパー タグの埋め込み (cakePHP2.3)

Html->link($this->Html->tag('span','■',array('class'=>'altimg img-folder')).'お気に入り', '/likes',array('class'=>'btn', 'id'=>'btn-fav','escape'=>false));?> 埋め込んだタグはデフォルトではエスケープされるので、エスケープ回避設定をする必要…

cakePHP 認証

AppController class AppController extends Controller { public $components = array( 'Session', 'Auth' => array( 'loginRedirect' => array('controller' => 'users', 'action' => 'index'), 'logoutRedirect' => array('controller' => 'users', 'acti…

cakePHP Form Helper セレクトフォームの表示

echo $this->Form->input('money', array('options' => array('5万円未満', '5万円〜10万円未満','10万円〜15万円未満','15万円〜20万円未満','20万円以上')));

cakePHP バリデーション

public $validate = array( 'keyword' => array('rule' => 'notEmpty','message' => 'キーワードは必ず入力してください'), 'url' => array('rule' => 'url','message' => '正しいURLを入力してください'), 'company' => array('rule' => 'notEmpty','messag…

Mac10.8.3 cakePHPとMySQLの連動エラーの対応(XAMPP使用時)

cakePHPでBakeしようとしたら、下記エラーが出た。 Warning Error: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) XAMPPのphpinfo()で、MYSQL_SOCKETのパスを確認し、上記エラーに出ている/v…

cakePHP 命名規約

コントローラー => 大文字で始まる複数形の単語。キャメルケース。 モデル => 大文字で始まる単数形の単語。キャメルケース。 ビュー => アンダースコアで区切った小文字(単数、複数の区別なし)。拡張子はctp。 データベーステーブル => アンダースコアで…

cakePHP2.2 Bakeを研究してみる

私の環境は、mac、Eclipse、XAMPP、PHP5.3、cakePHP2.2.5、MySQLです。 Bakeとはデータベースのテーブルさえ作っておけば、瞬時にcakePHPのモデルとビューとコントローラーを自動で作ってくれる機能のことであります。 便利なんじゃないでしょうか。ベースと…

cakePHP2.2.5 ー ダウンロードから開発開始までの準備作業詳細を徹底解説!(Mac × Eclipse × XAMPP)

cakePHPを使うの結構久しぶりで、cakePHPの開発環境を削除してしまっていたことから、一からcakePHPをダウンロードするところから始めます。 ちなみに、私の開発環境は、Mac、Eclipse、PHP5.3です。ローカルのウェブサーバーはXAMPPを使っています。 cakePHP…