-1

我如何在 cake php 2.X 中自己的辅助方法中使用 App 控制器方法或属性?我get_lan()在 App 控制器中调用了方法,这是我的助手,但是当我运行时收到错误消息:

Error: Call to undefined function get_lan() 
File: C:\wamp\www\app\View\Helper\current_langHelper.php    
Line: 8" 

代码:

<?php
App::uses('AppHelper', 'View/Helper');

class current_langHelper extends AppHelper {
    public $helpers = array('Html');

    public function current_lang()
    {
        var_dump(get_lan());
    }
}
4

1 回答 1

1

助手不调用控制器方法。换句话说,Helper 不会“看到”Controller 成员。Controller 应该通过 set() 方法将信息传递给 View/Helper。您可以使用 get_lang() 方法(最好将其命名为 setLang())将语言传递给视图,例如:

private setLang(){ $this->set('lang',$selectedLanguage); }

然后,您可以使用以下方法在视图中使用此变量:

var_dump($lang);
于 2013-03-10T12:49:58.160 回答