2009/06/25 by マッチー
$this->render('/elements/calender');
こういう書き方をすると、elementsの中にあるテンプレートをレンダリングしてくれる。
今日、ポップアップウインドウでカレンダーを表示させる機能を作っていたんですけど、カレンダーのテンプレートはどのページから呼んでも同じだから、こんなようなことができないかなと思って調べてみたら、やっぱりありました。そりゃあるよね。これくらいの機能なら。
別に分かりにくい機能とかではないけれど、これから先もきっとこいつ
続きを読む
2009/06/24 by マッチー
通常、DBの設計の際には、照合順序をUTF-8にしておけば何の問題もないと思っていたのだが、CPIというレンタルサーバのDBを扱う際、照合順序も全部ちゃんとUTF-8にしているのに、文字化けが直らないという問題が発生した。原因が全く分からずに、かなりの時間、悪戦苦闘した。正確にいうと、悪戦苦闘していたのは僕じゃなくて先輩プログラマーのヅヤさんがですけど。
で、原因を調べているうちに我流天性さんというサイトに行き当たり、その解決法も書いてあったので参考にさせてもらった。
どうやらあそこは、文字
続きを読む
2009/06/23 by マッチー
つい先日、フォームヘルパーを使ってチェックボックスを作ったのだけど、どうやらlabelの指定ができないっぽく、書き方としてはこんな感じになってしまった。
<?php echo $form->checkbox('check') ?><label for="Check">チェックボックス</label>
なので、ラジオボタンも同じ感じなのかなぁと思っていたら、実はそんなことなかったんですね。
<?php echo $form->
続きを読む
2009/06/19 by マッチー
僕はポケットリファレンスシリーズが使い勝手がいいと思っているので、仕事中にもPHPやらCakePHPやらjavascriptやらのポケットリファレンスを何かと開いているのだけど、javascriptのポケットリファレンスを読んでいたら、486ページにこんなことが書いてあった。
sosObj.setAttributeNS("suzumiya", "haruhi",17)
sosObjのsuzumiya:haruhi属性の値を17にする。
ちなみに486ページは属性の作成や追加について
続きを読む
embed要素のwidthとかheightがjavascriptでうまく書き換えられないとか言ってたけど、そんなことなかった。
setAttributeってやつを使って属性を変更してやれば、ちゃんとできる。
var tags = document.getElementsByTagName('embed');
for(var i = 0; i < tags.length; i++) {
var tag = tags[i];
tag.setAttribute
続きを読む
2009/06/17 by マッチー
自分のサイトに動画を埋め込みたいって思ったときに、例えばyoutubeの動画を埋め込む場合、動画の右側にある埋め込み用のタグをそのままコピペすれば埋め込める。
このとき、youtubeだったら動画のサイズはwidthが425でheightが344になっている。これをもう少し小さいサイズで自分のサイトに埋め込みたいとなったら、てっとり早いのは自分でこのサイズを書き換えてDBに保存するなりなんなりすればいいのだろうけど、ユーザビリティを考えると、いつでもそうするってわけにもいかない。
javas
続きを読む
2009/06/16 by マッチー
フォームヘルパーのチェックボックスメソッドを使うと、言うまでもなくチェックボックスをページ内に設置することができる。
cakeのヘルパーは何かと便利で、余計なことをしなければ勝手に値を保持してくれたり自動的にhidden要素を作ってくれたりするのだけど、この自動的にhidden要素を作ってくれるおかげで、新規登録のときは問題なくても、編集のときにうまいことアップデートが行われなくてちょっと困った。
SQL文を見ても、編集画面でチェックボックスの欄に何の手も加えないでアップデートを行った場合、
続きを読む
2009/06/12 by マッチー
ちょっと前に、renderElementを使うとelementsフォルダに入っているファイルをview内で読み込めるようなことを書いた。それについて一つ知ったことがあったので、メモ。
// index.ctp
<?php foreach($data as $val) : ?>
<?php echo $this->renderElement('program') ?>
<?php endforeach ?>
// program.c
続きを読む
javascriptで、ページを読み込んだときにイベントを起こすにはonloadを使えばいいが、特定のエレメントに何かをするのではなくonloadを発生させたいようなときにはどうすればいいか。
<script>
function message() {
alert('ページが開きました');
}
</script>
<body onload="message();">
最初はこんな感じでbodyタグに書けば何とかなるんじゃね?っ
続きを読む
2009/06/09 by マッチー
PHPでファイルやディレクトリの名前を変更したい場合、rename関数を使う。
rename(変更前のファイル名,変更後のファイル名);
このrename関数、何も名前を変えるばかりじゃなく、ファイルの移動なんかの役割も果たしてくれるので、結構便利な関数だと思う。
rename(../tmp/$file, ../img/$file);
$fileはファイル名
みたいに書くと、tmpというフォルダの中にあるファイルがimgフォルダの中に移動する。
画像を投稿できるシス
続きを読む