相当有经验的程序员,但新的CakePHP 2.1和花我的天挣扎按照手册来得到一个定制的助手在查看工作:http://book.cakephp.org/2.0/en/views/helpers.html自定义助手CakePHP中的错误
我一直没能找到答案并会非常感谢任何蛋糕的专业知识。
在app /助手/ EntriesHelper.php我的助手文件:
App::uses('AppHelper', 'View/Helper');
class EntriesHelper extends AppHelper {
public function __construct(View $view, $settings = array()) {
parent::__construct($view, $settings);
}
public function spanWrapper($content) {
if(substr($content,0,1) == "@") {
return "<span class='label label-warning'>$content</span>";
}
else if(substr($content,0,1) == "#") {
return "<span class='label label-default'>$content</span>";
}
else if (substr($content,0,4) == "http" || substr($content,0,3) == "www") {
return "<span class='label'>$content</span>";
}
return $content;
}
}
和我的应用程序控制器/控制器/ EntriesController:
App::uses('AppController', 'Controller');
class EntriesController extends AppController {
public $helpers = array('Form', 'Html', 'Js', 'Time');
#public $components = array('RequestHandler');
#public $viewClass = 'Json';
public function index() {
$helpers[] = 'spanWrapper';
$this->Entry->recursive = 1;
$this->set('entries', $this->paginate());
#$this->set('_serialize', array('entries'));
}
}
但是从我查看呼叫失败:
$this->Entries->spanWrapper($entry['Entry']['title']);
出现错误:
Notice (8): Undefined property: View::$Entries [CORE/Cake/View/View.php, line 806]
Fatal error: Call to a member function spanWrapper() on a non-object in <path removed>/app/View/Entries/index.ctp on line 35
因此,未定义财产的通知大概会导致致命的错误......但为什么如此,如果它按照食谱实施?
达伦
除了这个事实,应该是最好的“SpanWrapper”,以保持一致(驼峰) – mark 2012-08-11 19:23:25
啊。我懂了。感谢....工作。我想我已经在食谱中使用了这个例子,我会检查他们的代码是否也可能是错误的。 –
tremendusapps
2012-08-13 17:02:54