我已使用此item并收到此错误:
Missing Helper
Error: JavascriptHelper could not be found.
Error: Create the class JavascriptHelper below in file: app/View/Helper/JavascriptHelper.php
<?php
class JavascriptHelper extends AppHelper {
}
确实,这个文件不存在,我试图在我的帮助数组中使用'Js'。
class myClassController expend AppController {
var $helpers = array('Html', 'Js'); // and not 'Javascript');
在代码中,调用方法$this->Javascript->codeBlock
来添加javascript方法(在内容的中间而不是标题中)但是没有$ this-&gt; Js-&gt; codeBlockcodeBlock。< / p>
$output .= $this->Js->codeBlock("datepick('" . $htmlAttributes['id'] . "','01/01/" . $options['minYear'] . "','31/12/" . $options['maxYear'] . "');");
你能解释一下旧的Javascript帮助器发生了什么,或者如何使代码正常工作?
是否有其他助手可以使用CakePHP-2.0?
亲切,
答案 0 :(得分:9)
您是否阅读过迁移指南?如果现在不这样做: http://book.cakephp.org/2.0/en/appendices/2-0-migration-guide.html#xmlhelper-ajaxhelper-and-javascripthelper-removed
XmlHelper,AjaxHelper和JavascriptHelper删除了AjaxHelper和 JavascriptHelper已被删除,因为它们在版本中已弃用 1.3。 XmlHelper被删除了,因为它已经过时,并且随着Xml的改进而变得多余。应该使用Xml类来替换 以前使用XmlHelper。
AjaxHelper和JavascriptHelper被JsHelper取代 和HtmlHelper。
JsHelper JsBaseEngineHelper现在是抽象的,你需要 实现以前生成错误的所有方法。
所以
$this->Js->codeBlock('...');
现在是
$this->Html->codeBlock('...');
答案 1 :(得分:0)
HtmlHelper::scriptBlock($code, $options = array())
//Parameters:
$code (string) – The code to go in the script tag.
$options (array) – An array of html attributes.