今日のRSSを見たところ、
nuto さんと bobchinさんによって翻訳が着実に進んでいるようです。
この数ヶ月、他の方も翻訳に参加しておられると思います。
いろいろな人の協力でこの“本”が読みやすくなっていますね〜。
どうもありがとうございます。
もう、紙の書籍を購入しなくてもよい時代がそこまで…。
Welcome to CakePHP v1.2.0.6311 beta Console
---------------------------------------------------------------
What is the full path you would like to extract?
Example: C:\Program Files\xampp\htdocs\cake12\myapp
[Q]uit
[Q] >
[Q] > C:\Program Files\xampp\htdocs\アプリフォルダ
What is the full path you would like to output?
Example: C:\Program Files\xampp\htdocs\アプリフォルダ\locale
[Q]uit
[C:\Program Files\xampp\htdocs\アプリフォルダ\locale] >
I18n Shell
---------------------------------------------------------------
[E]xtract POT file from sources
[I]nitialize i18n database table
[H]elp
[Q]uit
What would you like to do? (E/I/H/Q)
>
Configure::write('Config.language',"en");
========================================
class ItemsController extends AppController
{
var $name = 'Items';
function index($id) {
$entity = $this->createEntity('Item', $this->Item->read(null, $id));
$this->set('item', $entity);
}
}
========================================
==============================================
//instead of "echo $item['Item']['price'];"
echo $item->g('price'); (or, echo $item->get('price'))
//You can calculate dynamically with Model values.
echo $item->taxOnPrice();
//You can set a value from View.
echo $item->s('price', 5000);
==============================================
Controller -------------------
$data1 = $this->Reservation->findAll();
$data2 = $this->AdditionalReservation->findAll();
//If needed, change $data2's array name
"AdditionalReservation" to "Reservation". Then,
$data = array_merge($data1, $data2);
$data = $this->Reservation->sortbytime($data);
$this->set("reservations", $data);
------------------------------
Model ------------------------
function myCmp($array1, $array2)
{
$time1 = strtotime($array1['Reservation']['rsv_time']);
$time2 = strtotime($array2['Reservation']['rsv_time']);
if($time1 == $time2){
return 0;
}
return ($time1 > $time2)? 1 : -1;
}
function sortbytime($data)
{
usort($data, array("Reservation", "myCmp"));
return $data;
}
------------------------------
function add() {
//もしデータがPOSTされていない=一回目なら
if (empty($this->data)) {
//入力画面を出力
$this->render();
} else {
//データがPOSTされているなら、
//日付データの連結処理をする“まとめ”関数
$this->cleanUpFields();
//$this->dataの内容を保存
if ($this->Category->save($this->data)) {
$this->Session->setFlash('The Category has been saved');
$this->redirect('/categories/index');
} else {
//バリデーションに失敗したのでエラーを出力。修正を促す
$this->Session->setFlash('Please correct errors below.');
}
}
}
function add() {
//もしデータがPOSTされていない=一回目なら
if (empty($this->data)) {
//入力画面を出力
$this->render();
} else {
//データがPOSTされているなら、
//日付データの連結処理をする“まとめ”関数
$this->cleanUpFields();
//データを移動 *ここがポイント*
$this->Category->set($this->data);
//データをチェックして必要であれば、条件で下記のようなエラーを発生させる。
$this->Category->invalidate("name");
$this->Category->invalidate("ビューのtagErrorMsg()に設定する値");
//$this->dataの内容を保存
if ($this->Category->save()) { //*注意*
$this->Session->setFlash('The Category has been saved');
$this->redirect('/categories/index');
} else {
//バリデーションに失敗したのでエラーを出力。修正を促す
$this->Session->setFlash('Please correct errors below.');
}
}
}
if($this->action != 'login' && $this->action != 'logout')
if(($action != null && $this->action === $action) || $this->action === 'edit' || ($this->action === 'add' && $this->params['controller'] != 'users')){
今手元にあるdecorate.php(Revision:4597、lastmodified:2007/3/7)、データベースの接頭文字列を指定してあるとうまく動いてくれなかった。追試はしていないけれど、バグっぽい。ソースを少しだけ眺めたけど・・・、じっくり見ないとやっぱりわからない。
decorate.phpは非常に便利だが、今回、自動生成したスクリプトを覗いてみて、少しイマイチだった
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |