1

$this->set()CakePHPのメソッドを使用して自分の関数をどのように使用/定義できるのか疑問に思っていますか?こんなことしたい…

AppController.php

<?php
    function checkSetup() {
        if ($this->Auth->user('setup') == 'notcomplete') { return true; }
    }

    $this->set('isSetup', checkSetup());
?>

そして、ビューファイルでアクセスして呼び出すことができます。

<?php if ($isSetup): ?>
You haven't setup your profile yet!
<?php endif; ?>

私はそれを試しましたが、大規模な致命的なエラーが発生するため、明らかに機能しません。これを行う方法についてのアイデア/提案はありますか?

4

1 に答える 1

1
$this->set('isSetup', checkSetup());

その行を呼び出すには、関数内にある必要があります。おそらく、アプリコントローラーのbeforFilterにそれが必要です-次のようなものです:

<?php

App::uses('Controller', 'Controller');

class AppController extends Controller {

    function beforeFilter() {
        $this->set('isSetup', checkSetup());
    }

    function checkSetup() {
        if ($this->Auth->user('setup') == 'notcomplete') { return true; }
    }

}

?>
于 2012-12-09T05:17:49.743 に答える