1

数年前に学校用の古いバージョンのcakephpで使用したにもかかわらず、私はcakephpをまったく使用していません。ここで、$ session-> flash();を使用する必要があります。エラーメッセージを表示します。私はそれを私のview/layouts / default.ctpに配置しました、そしてこれは私が得たものです

Call to a member function flash() on a non-object in
C:\xampp\htdocs\blog\app\View\Layouts\default.ctp on line 9

これが私のコードです:

class PostsController extends AppController {
    var $name = 'Posts';
    var $helpers = array('Html', 'Form', 'Session');

public function delete($id = null) {
    $this->Post->id = $id;
        if (!$id) {
            $this->Session->setFlash(_('Post does not exist!', true));
            $this->Session->redirect(array('action'=>'index'));
        }
        if ($this->Post->delete($id)) {
            $this->Session->setFlash(__('Post deleted', true));
            $this->redirect(array('action' => 'index'));
        }
    }
}
4

2 に答える 2

2

$this->Session->flash()レイアウトで使用する必要があります$session->flash()。これは、CakePHP1.xで使用されるアプローチです。

于 2012-05-16T05:22:25.823 に答える
-1

$ this-> Session-> setFlash(__('投稿が削除されました'、true)); なぜダブルアンダースコアを使用すると、簡単に使用できます

$ this-> Session-> setFlash('投稿が削除されました');

于 2012-05-16T04:13:22.850 に答える