cake phpを勉強 ブログチュートリアルを実践5
前回は、データバリデーションを復習しました。
一通り、データを入力して、表示するところまでは出来た。
次は、データの削除。
少し間があいてしまったので、思い出しながらの作業です。
/app/controllers/posts_controller.phpの中に、
deleteメソッドを追加します。
del($id)だけで削除ができる。
でもって、削除後に簡単なメッセージを出すのが、
flash(' id: '.$id.' の投稿は削除されました。', '/posts');
flash()メソッドは、データを削除した更新したりした際に簡単にメッセージを出すことができる関数。
次に/cake/posts/の一覧ページで削除ボタンが表示されるように、
VIEWの中の/app/views/posts/index.thtmlを編集。
ここで使っているHTMLヘルパーのlink()メソッドはとても便利なので、
覚えておく。
これで削除までの流れができました。
▼下記が実際の画面の流れ

しかし一気に集中して勉強しないと全然前に進まない気がする。
下記、メモ。
一通り、データを入力して、表示するところまでは出来た。
次は、データの削除。
少し間があいてしまったので、思い出しながらの作業です。
/app/controllers/posts_controller.phpの中に、
deleteメソッドを追加します。
function delete($id)
{
$this->Post->del($id);
$this->flash(' id: '.$id.' の投稿は削除されました。', '/posts');
}
del($id)だけで削除ができる。
でもって、削除後に簡単なメッセージを出すのが、
flash(' id: '.$id.' の投稿は削除されました。', '/posts');
flash()メソッドは、データを削除した更新したりした際に簡単にメッセージを出すことができる関数。
次に/cake/posts/の一覧ページで削除ボタンが表示されるように、
VIEWの中の/app/views/posts/index.thtmlを編集。
ここで使っているHTMLヘルパーのlink()メソッドはとても便利なので、
覚えておく。
link(
$title,//リンクさせた文字
$url,//リンク先
$htmlAttributes,//追加属性
$confirmMessage = false,//確認メッセージ
$escapeTitle = true,//タイトルのエスケープ
$return = false);
)
クリックしたときにJavascirptでアラートを出したいときは、$confirmMessageに値をいれる。これで削除までの流れができました。
▼下記が実際の画面の流れ

しかし一気に集中して勉強しないと全然前に進まない気がする。
下記、メモ。
・削除するときは、モデル名->del($id);
・flash(表示する文字列,リダイレクト先,リダイレクトまでの時間);
・flash関数にはviewがいらない
・flash関数を実行時のメッセージを表示するページのレイアウトは
libs/view/templates/layouts/flash.thtmlに設定されている。
・上記を変更するときは、app/view/layout/flash.thtmlにオリジナルのものを設置
・HTMLヘルパーのlink()にて、Javascriptでアラートを出す場合、
$confirmMessageに表示するメッセージをいれる
date:2008年05月30日 00:55 | COMMENT (0) | TRACKBACK (0)
