【问题标题】:Cakephp undefined property errorCakephp 未定义属性错误
【发布时间】:2014-07-29 21:30:44
【问题描述】:

我在使用 cakephp 控制器时遇到问题,我一直收到错误提示

未定义属性:AdsController::$getUrlsHTML

               public function getUrlsHTML($UrlId = 0) {
    // Called via AJAX to get HTML for CTAs
    // Provides insertable HTML based on list from getCalloutsActionsList()

    $this->layout = 'ajax';
    $UrlsList = $this->getUrlsActionsList($UrlId);

    $this->set('Urls', $UrlsList);
    $this->set('url', $UrlId);
    $this->render('/elements/ads/url');
}

private function getUrlsActionsList($UrlId = 0) {
    // Pulls appropriate Callouts list. Usually called by getCalloutsHTML()

    $Urls = $this->getUrlsHTML->getUrls();

    $UrlsList = array();
    foreach ($Urls as $Url) {
        $UrlsList[$Url['url']['id']] = $Url['url']['text']; 
    }

    return $UrlsList ;

}

【问题讨论】:

    标签: php cakephp frameworks


    【解决方案1】:

    这个

    $this->getUrlsHTML->getUrls();
    

    无效。你想做什么?

    错误说明了你的问题,getUrlsHTML 不是属性,意思是“你为什么把它当作一个变量?”

    要么

    $this->getUrlsHTML()
    

    调用函数,或

    $this->getUrlsHTML()->getUrls();
    

    如果你想连接。

    【讨论】:

      【解决方案2】:

      您的控制器中是否声明了属性“getUrlsHTML”?我只能看到函数 getUrlsHTML,所以你必须使用 $this->getUrlsHTML() 来调用它。

      【讨论】:

      • 我正在尝试通过 ajax 在 html 中呈现 URL 表,感谢 Nunser 的帮助。
      猜你喜欢
      • 1970-01-01
      • 2018-08-24
      • 1970-01-01
      • 2013-09-10
      • 2014-11-20
      • 1970-01-01
      • 2011-01-07
      • 1970-01-01
      相关资源
      最近更新 更多