作業ログ

マックにて19:15-23:00まで作業

以下,調べたこと

  • cake勉強!
    • model
<?php
class History extends AppModel {
	var $name = 'History'; // 単数系
}
    • controller
<?php
class HistoriesController extends AppController {
	var $name = 'Histories'; // 複数形
}
      • viewに結果をわたすとき

set(string $var, mixed $value);

      • render renderによってビューが呼ばれる.

コントローラのアクションの最後にrenderが自動的に呼ばれ、アクション名に基づいてビューが自動的に表示される.
render(
$action,
$layout,
$file);

    • view
      • formヘルパー

viewの中で$formで使える
$form->create('モデルオブジェクト名', array('' => '')で属性を指定出来る)
$form->radio()
$form->input('カラム名', array('' => '')で属性指定)

・ここに出力したいものを

$form->end('submitのvalue')

      • カスタムview

/app/views/scaffold/index.scaffold.ctp
/app/views/scaffold/add.scaffold.ctp
/app/views/scaffold/edit.scaffold.ctp

    • scaffold

コントローラに

<?php
class Controller extends AppController {
	var $scaffold; // コレ書く
}
    • 便利関数
      • requestAction($url, $extra)

この関数を使うと,どんな場所からもコントローラのアクションを呼び出す事ができる.

    • viewはctp使いたい時
    • app/webroot以下にjsやらcssやらimgやらを配置する
  • > app/views/layouts/default.ctpに記述する
    • ルートの呼び出し先を変更する
      • app/config/routes.php

// ルートにアクセスしたとき,histories_controllerを呼ぶ
Router::connect('/', array('controller' => 'histories', 'action' => 'history'));

    • レイアウトについて
  • /app/views/layout/default.thtmlを作ればそれがデフォルトのレイアウトを上書きしてくれるらしい。
  • titleタグの中身はcontroller中に$pageTitleで指定すればいけるらしい(というか、レイアウト中の変数をControllerで指定できるということか)
  • レイアウトは複数作って$layoutで切り替えられるらしい。
  • レイアウト中の小さなパーツは/app/views/elementsに入れておいて使い回しできるらしい。

参考にしたページ