在CakePHP 2.0中使用Html Helper时未定义的var

时间:2011-08-23 14:12:51

标签: php cakephp cakephp-2.0

我第一次尝试使用CakePHP时出现此错误:

  

未定义变量:html [APP / View / Posts / index.ctp,第13行]

我有版本2.0-alpha,我有错误的版本或更改的内容。好像它找不到html帮助器。

根据要求提供更多信息:

这是index.ctp文件

<?php foreach ($posts as $post): ?>    

<?php echo $post['Post']['id']; ?>


<?php
##line 13 here
 echo $html->link($post['Post']['title'], array('controller' => 'posts', 'action' => 'view', $post['Post']['id'])); 
?>


<?php echo $post['Post']['created']; ?>

<?php endforeach; ?> 

数据肯定会通过,但我得到的错误是第13行:

  

未定义的变量:html [APP / View / Posts / index.ctp,第13行]致命错误:在/ home中的非对象上调用成员函数link()

我很新,我希望这会有所帮助。

稍后更新5小时疯狂

谢谢大家分类,任何人都有这个问题,主站点上的教程是旧的,没有人努力更新它! ...在index.ctp示例中替换

$html->link(... 

$this->Html->link(...

3 个答案:

答案 0 :(得分:9)

在cakephp的手册中,似乎{1}}应该是CakePHP 2.0中的$html

答案 1 :(得分:0)

只需进行此更改:

<?php
  ##line 13 here
  echo $this->html->link($post['Post']['title'], array('controller' => 'posts', 'action' => 'view', $post['Post']['id'])); 
?>

答案 2 :(得分:0)

从CakePHP 2.0开始,所有助手都会在课堂上调用(this)并使用第一个大写字母作为标准$this->Html->Html)。对于Form Helper等也是如此。