安装后CakePHP警告和通知

时间:2015-09-21 06:29:08

标签: php cakephp

成功安装CakePHP后,第一次运行时,我会在底部收到这些警告。我该如何解决这个问题。

  

警告(2):缺少View :: element()的参数1,在第61行的/Users/michaelanywar/Sites/cakephp/app/View/Layouts/default.ctp中调用并定义了[CORE / Cake / View /View.php,第398行]

     

注意(8):未定义的变量:name [CORE / Cake / View / View.php,416行]

     

注意(8):未定义的变量:name [CORE / Cake / View / View.php,第422行]

     

注意(1024):找不到元素:元素/ .ctp [CORE / Cake / View / View.php,第425行]

从398到427的My View / view.php行看起来像这样:

    public function element($name, $data = array(), $options = array()) {
    $file = $plugin = null;

    if (isset($options['plugin'])) {
        $name = Inflector::camelize($options['plugin']) . '.' . $name;
    }

    if (!isset($options['callbacks'])) {
        $options['callbacks'] = false;
    }

    if (isset($options['cache'])) {
        $contents = $this->_elementCache($name, $data, $options);
        if ($contents !== false) {
            return $contents;
        }
    }

    $file = $this->_getElementFilename($name);
    if ($file) {
        return $this->_renderElement($file, $data, $options);
    }

    if (empty($options['ignoreMissing'])) {
    list ($plugin, $name) = pluginSplit($name, true);
        $name = str_replace('/', DS, $name);
        $file = $plugin . 'Elements' . DS . $name . $this->ext;
        trigger_error(__d('cake_dev', 'Element Not Found: %s', $file), E_USER_NOTICE);
    }
}

2 个答案:

答案 0 :(得分:0)

如果查看第一条警告/错误消息,应该清楚问题是什么:“警告(2):缺少View :: element()的参数1。”

查看默认布局视图模板的第61行(/app/View/Layouts/default.ctp)。你显然有一个没有传递模板名称的element()的调用(因此Cake正在寻找“Elements / .ctp”)。

确保将模板名称传递给echo $this->element('site_header'); 方法,或将其从模板中删除。例如,如果要包含模板“View / Elements / site_header.ctp”: -

element()

模板只需要存在于“View / Elements”文件夹中。您不需要将“.ctp”扩展名传递给plpgsql方法,而Cake会假设这样。

确保您已阅读docs on Elements

答案 1 :(得分:0)

将default.ctp移动到View / Elements文件夹是最好的,然后将其称为元素('默认');?> 我删除了布局文件夹中的default.ctp ..

相关问题