cakePHP

CAKEPHPのソートで表示される矢印を画像に変える方法

generic.cssの以下の部分を変更すればOK table tr th a.asc { padding:0 0px 0px 10px; background:url(../../img/arrow02.gif) no-repeat left; } table tr th a.desc { padding:0 0px 0px 10px; background:url(../../img/arrow01.gif) no-repeat left; }

ビューごとにそれぞれでcssを変更する方法

viewに記述する echo $this->Html->css('admin', false, array('inline'=>false)); ◆第一引数はファイル名を指定◆第二引数の $htmlAttributes パラメータを使用して "type" 属性をセットする場合、CakePHP はいくつかのショートカットがあります type 変換さ…

タイトルの変更方法

$this->set('title_for_layout', 'タイトルとなる文字列');読み込んでいる.ctpファイルの以下の部分に埋め込まれます。 php echo $title_for_layout; ?>

AUTH

管理・通常ページページ自動ふりわけ

フィクスチャーズ

http://book.cakephp.org/ja/view/360/Creating-fixtures var $hasMany = array( 'Work' => array( 'className' => 'Work', 'foreignKey' => 'category_id', 'conditions' => array('Work.flg_delete' => '0') ) );

コンストラクタ使うときに注意すること

◆CAKEPHPでシンプルテストを使用した時に少しはまったのでメモメモ コンストラクタの引数を指定せずに記述した場合 test用のデータベースではなく、本番のデータベースを使用してテストしてしまいます。 継承元のコンストラクタにしたがって、引数を指定する…

simpletestの際の表結合の指定の仕方

◆simpletestを使用する際、hasmanyで表結合させる場合は プレフィックスで使う表を複数指定する! tests/cases/models/モデル名.test.php ・fixturesを指定すると、testのデータベースを使用するようになりますが、 hasmanyなどで、複数の表を結合して使用す…

ファイルのアップロードの方法

◆cakephpでファイルのアップロードをする際の方法 add.ctp ・createのtypeを指定する Form->create('Work',array('action'=>'add','type'=>'file'));?>・inputにもtypeを指定する echo $this->Form->input('data',array('type'=>'file')); POSTで$this->data…

macからWinへのCAKEPHPの移行の際にはまったこと

http://book.cakephp.org/ja/revisions/view/1624/%E5%BF%9C%E7%94%A8%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB 違う環境にディレクトリーごと移動した際にbootstrap.phpの設定が読み込めないエラーになりました。 そういう場合の対処法↓webr…

testのデータ(フィクスチャ)の作成

・simpletestをする際のtestデータ作成 http://book.cakephp.org/ja/view/360/Creating-fixtures モデル名にフィクスチャを宣言する var $fixtures = array( 'app.モデル名' ); 宣言するとtestのテーブルが使用されて、 testのテーブルに下記で登録したデー…

simple Testのテストコードの関数名でエラー発生

モデルでアクション作る時にもともとある関数 の名前(read,save,deleteとか)使うとメモリエラーになりました。 class Work extends AppModel { var $name = 'Work';function _read($id){ //アンダーバーとか付けて回避したんですけどね //そら同じ名前だった…

hasmanyの関連づけの事とか

1対1 hasOne 1対多 hasMany 多対1 belongsTo 多対多 hasAndBelongsToMany class User extends AppModel { var $name = 'User'; //結合させたいテーブル名 var $hasMany = 'Comment'; CAKEPHPのhasManyページ↓ http://book.cakephp.org/ja/view/82/hasMany

スクレイピングでなんか作ってる途中です、

とりあえず、既存のサービスのデータを少し拝借して 新たなサービスを作ろうと思って、作ってます。 また、完成したら許可もらって公開出来たらな、と思ってます!!! かなりの回数twitterにアクセスすることになるのでとっても重い!!!!! とりあえず、…

リンクでフォームの送信を行う方法

参考:http://www.openspc2.org/reibun/javascript/form/001/ HTMLに記述するフォーム <form name="token" method="post" action="#"> <input type="hidden" name='token' value='送信したい値'> </form> javascript +function () { window.onload = function() { var addlink = document.getElementById('addlink'); var frm = document.toke…

ワンタイムトークンの実装

ワンタイムトークンは、ちゃんと意図した画面から遷移したものということを 証明することができるものらしいです。 なので、勝手に意図しないページに飛ばされたとしても、 プログラムが判断して、はじいてくれるように実装してみたいと思います。 簡単な流…

jQueryでフォロアー一覧表示とアイコン選択!

りまいんたーで、フォロアーアイコン選択で、テキストボックスにscrean_name挿入したかったので、作ってみました。 これ使いました!!!!!http://tympanus.net/codrops/2009/12/02/twitter-api-and-jquery-showcase-display-your-followers-or-friends/ c…

メンテナンスの方法

1、ステータスコード503を持たせるページを表示させる方法 アクセスされたくないフォルダのカレントディレクトリに、 「.htaccess」というフォルダを作成(cakephp使ってるので、もともと記述されていた部分も含みます) RewriteEngine on #RewriteRule アク…

リマインターに追加機能つけてみました

オプションで、自分自身がつぶやけるように設定できるようになりました!!!

error画面編集

404のエラー画面はデフォルトでは、あれなので、 自分でエラー画面を作成したいと思います。 app/error.php controller->layout = "simple"; parent::error404($params); } }?> で、default.ctpと同じ階層に読み込ませたいビューをかく。 sample.ctp …

formhelper(フォームヘルパー) datetimeの場合

ビューで記述するとこんな感じになります。オプションでいろいろ指定してあげるだけで これだけ見やすくなりました!!! echo $form->input('tweettime'); - - - - - - - - - - - - - - - - - - - - - - - - -echo $form->input('tweettime', array( 'label…

Reminter(リマインター)完成!!!!が違うかった件

りまいんたー完成したと思ってたら、 実は、無限ループしてて、まったくつかえてなかった!!!! 自分はデータベースに登録されてたから、認証はスルーできましたが!! 登録されてない人は、まったく認証画面から進みませんでした… とりあえず、その現象は…

Reminter(リマインター)完成!!!!(仮)

Twitterユーザが備忘録として 使用できるWEBサービス!!とか作ってみました!!!!!Reminter(リマインター)っていいます。 →登録した内容を登録した時間に@付きで教えてくれるサービスです URL:http://winofsql.sakura.ne.jp/cakephp/reminders 使い方は…

Basic認証からOAuth認証に変更してみた

アプリケーションから、普通にPOSTしたりするときに 今まではBasic認証使ってました! が Basic認証はサポートがおわってしまうそうなので、 OAuth認証に変更してしまおうと思いますアプリケーション固有のアクセストークンを使用すれば簡単にPOSTとか する…

redirectすると、sessionが切れてしまう現象の件

前回の補足 ブラウザの種類により、redirectすると、sessionが切れてしまう現象が起きましたクロームと、サファリで起きるみたいで、前回はcore.phpのSecurity.levelをlowにすることで解決しましたが 根本の原因はリファラーのドメインが原因のようでした。 …

りまいんだーぼっと作成奮闘記 2

結局セッションの不具合はcore.phpのSecurity.levelをlowにすることで解決しました。 ですが!セキュリティーのレベルをさげるということは、 それだけリスキーなアプリケーションになるということを知っておかないといけない。 ということなので、ちがう方…

りまいんだーぼっと作成奮闘記 1

だいたい形としては動くようになり、 みんなに試してもらおうとおもって、みんなにアクセスしてもらったら なんか、アクセスできなくてエラーが出る人が続出。。 自分だったら出来たから、全く気付かなかった!! 原因はブラウザにあるみたいでした。IEとfir…

cakephpをサーバーにあげるときのメモ

ちょっとひっ掛ったことがあったので、メモ。・サーバーにcakephpを上げたときの db_config.php 'mysql', 'persistent' => false, 'host' => 'localhost', 'login' => 'ユーザー名', 'password' => 'パスワード', 'database' => '使うDB', 'encoding' => 'ut…

cakephpでSQL文作成

・特定の期間より小さい日のデータを取得する方法 例によるとこんな感じで取得できるみたいですが、 // $id より大きなidを持つレコードを取得 $list = $this->findAll(array('id' => '> ' . $id)); $data = $this->Reminder->findAll(array('Reminder.tweet…

「誕生日つぶやく」から「リマインダー」に変更

誕生日つぶやくものを作ろうと思ったけど、 色々あってリマインダーを作成することにしました! テーブルは前回にクラス図で抽出した userテーブルと、reminderテーブル作成します。・remindersテーブル CREATE TABLE IF NOT EXISTS `reminders` ( `id` int(…