5

我已经使用了这个项目并得到了这个错误:

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->Js->codeBlockcodeBlock。

$output .= $this->Js->codeBlock("datepick('" . $htmlAttributes['id'] . "','01/01/" . $options['minYear'] . "','31/12/" . $options['maxYear'] . "');");
    

你能解释一下旧的 Javascript 助手发生了什么或者如何让代码工作吗?

还有其他可以与 CakePHP-2.0 一起使用的助手吗?

亲切地,

4

2 回答 2

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('...');
于 2012-08-21T08:53:58.400 回答
0
HtmlHelper::scriptBlock($code, $options = array())
    //Parameters:   

    $code (string) – The code to go in the script tag.
    $options (array) – An array of html attributes.
于 2012-08-21T09:00:31.060 回答