成功安装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);
}
}
答案 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 ..