在CakePHP中使用$javascript助手问题;未定义变量:javascript";
当我想在在CakePHP中使用$javascript助手问题;未定义变量:javascript";,cakephp,Cakephp,当我想在default.ctp布局中使用$javascript->link('prototype')时,我遇到了问题。它返回: 未定义变量:javascript[APP\views\layouts\default.ctp,第6行] 我还将此代码添加到app_controller.php中: <? class AppController extends Controller { var $Helpers = array('Html','Javascript','Aja
default.ctp
布局中使用$javascript->link('prototype')
时,我遇到了问题。它返回:
未定义变量:javascript[APP\views\layouts\default.ctp,第6行]
我还将此代码添加到app_controller.php中:
<?
class AppController extends Controller {
var $Helpers = array('Html','Javascript','Ajax','Form');
}
?>
文件prototype.js
已在webroot/js
文件夹中
问题出在哪里?它必须是
$helpers
而不是$helpers它必须是$helpers
而不是$helpers我曾多次遇到过这个问题。这通常是由于控制器代码被覆盖,或者是由于Cake的automagic产品出现了一些奇怪的情况。如果删除所有帮助程序,然后逐个添加它们,最终可能会起作用
生成JavaScript链接的另一个非常有效的方法是使用以下不访问$JavaScript变量的方法:
echo $html->script(array('prototype'));
我有过很多次这样的问题。这通常是由于控制器代码被覆盖,或者是由于Cake的automagic产品出现了一些奇怪的情况。如果删除所有帮助程序,然后逐个添加它们,最终可能会起作用
生成JavaScript链接的另一个非常有效的方法是使用以下不访问$JavaScript变量的方法:
echo $html->script(array('prototype'));
以防其他人遇到这个bug/问题:它也发生在我身上,直到我注释掉了行$session->flash()代码>在我的默认布局中。意识到错误是由flash消息引起的,我回到控制器,注意到我对flash消息使用了单独的布局(例如“message_alert”),而这些布局实际上并不存在于view文件夹中
所以请记住,像这样的错误可能意味着尚未定义文件。祝你好运。以防其他人遇到此错误/问题:它也发生在我身上,直到我注释掉了行$session->flash()代码>在我的默认布局中。意识到错误是由flash消息引起的,我回到控制器,注意到我对flash消息使用了单独的布局(例如“message_alert”),而这些布局实际上并不存在于view文件夹中
所以请记住,像这样的错误可能意味着尚未定义文件。祝您好运。您只需打开Firefox浏览器的错误控制台(快捷键ctrl+shift+j)
- 找到错误并单击它
- 单击后,您将看到头部部分李>
- 注意您要定位的JavaScript文件(*.js)的位置(您将看到位置不正确)李>
- 从webroot中剪切JavaScript文件并将其粘贴到头块的给定位置李>
示例:
这将显示在错误控制台上。Map_demo是我的项目,在它的位置上,您的项目名称将显示:
- 从webroot中剪切JavaScript文件
- 在项目应用程序文件夹中创建JavaScript文件夹,
/map\u demo/js
- 将
test.js
(您的脚本文件)粘贴到此处
现在您的JavaScript函数可以工作了 只需打开Firefox浏览器的错误控制台(快捷键ctrl+shift+j)
- 找到错误并单击它
- 单击后,您将看到头部部分李>
- 注意您要定位的JavaScript文件(*.js)的位置(您将看到位置不正确)李>
- 从webroot中剪切JavaScript文件并将其粘贴到头块的给定位置李>
示例:
这将显示在错误控制台上。Map_demo是我的项目,在它的位置上,您的项目名称将显示:
- 从webroot中剪切JavaScript文件
- 在项目应用程序文件夹中创建JavaScript文件夹,
/map\u demo/js
- 将
test.js
(您的脚本文件)粘贴到此处
现在您的JavaScript函数可以工作了 CakePHP的哪个版本?JavascriptHelper从1.3开始就被弃用了,它甚至可能没有随2.0一起提供。哪个版本的CakePHP?JavascriptHelper从1.3开始就被弃用了,它甚至可能没有随2.0一起提供。array()应该不需要,如果他不能访问Javascript Helper,我认为Html Helper不会有什么不同。哦,谢谢!helpers变量在另一个位置被覆盖。不需要数组(),如果他无法访问Javascript帮助程序,我认为Html帮助程序不会有什么不同。哦,谢谢!helpers变量在另一个位置被覆盖。