2011-11-21 46 views
1

在我们的项目中,我们已将帮助程序放在app/view/helper文件夹中。它在应用程序中正常工作。我现在面临的问题是,我使用Facebook的插件通过webtechnick,当我在插件视图中使用的帮手,它会尝试从CORE/cake/libs/view/helper.php加载助手并给出警告如何从app/views/helper加载帮助程序CakePHP

Warning (512): Method HtmlHelper::scriptBlock does not exist [CORE/cake/libs/view/helper.php, line 142] 

任何一个可以建议该如何解决?我如何强制使用我的插件中的app/views/helper中的html helper?

+0

什么蛋糕版?我很困惑你的肠衣... – mark

+0

检查正确命名的助手;当然插件的助手应该在插件助手目录中 - 而不是你的应用程序。 – Ross

+0

标记verison是1.3.2。 让我解释一下,html helper文件位于app/views/helpers目录中(我认为有人已经覆盖默认值)。在整个应用程序中,当我使用var $ helpers = array('Html');在app/views/helpers目录下的html helper中的函数实现来工作正常。 我有一份工作要写一个插件,当我使用var $ helpers = array('Html');在插件视图中,helper的实现来自CORE/cake/libs/view/helper.php并给出警告。辅助器的实现应该来自app/views/helper。 – Shehbaz

回答

0

这听起来像有人可能编辑了核心蛋糕安装。您可能需要下载一份新的蛋糕副本并手动浏览到正确的位置以确认核心帮助程序是否存在。

当通过创建替代来覆盖默认助手时,原件不需要被删除。在检查cake目录之前,应用程序将检查app目录中的副本。这两个html helper文件都应该存在。

您正在寻找具有以下路径的文件:CORE/cake/libs/view/helpers/html.php

你应该能够包括从插件中“HTML”帮手,而不参照app目录都没有。

如果缺少核心蛋糕的HTML帮助程序,您可以通过从您下载的新副本中简单替换它来解决错误。

哦,是的,最好的做法是不要以任何方式改变核心文件,所以确保你在做任何事情之前创建一个备份。在这种情况下,您正在尝试将某些可能已被删除的东西放回去。