1

我试图为 SugarCRM 中的 Cases 模块创建一个逻辑挂钩。我将我的 logic_hooks.php 文件放入 custom/modules/Cases 目录,但它从未包含在内。

我在 include/utils/LogicHook.php 文件中进行了一些调试,问题出在 call_custom_logic 函数中:

...

// 声明钩子数组变量,它将在包含的文件中定义。

$hook_array = null;

if(!empty($module_dir)){

// 这将加载要处理的钩子数组

if(file_exists("custom/modules/$module_dir/logic_hooks.php")){

 $GLOBALS['log']->debug('Including module specific hook file for '.$module_dir);

 include("custom/modules/$module_dir/logic_hooks.php");

...

空文件夹测试成功,但 file_exists 总是返回 false(如果我评论这一行,include 函数也会抛出错误)。

我想知道这如何工作,就好像我读得很好,file_exists 函数只需要绝对路径,但它似乎对所有其他 SugarCRM 用户都有效,所以我想我的配置有问题。

任何帮助都是非常感谢的,因为我真的不知道问题出在哪里!

4

2 回答 2

0

不,file_exists() 可以采用绝对路径和相对路径。验证您的文件名称是否准确logic_hooks.php,并且运行您的网络服务器的用户可以读取该文件。

于 2010-12-15T23:52:54.907 回答
0

如果你的糖正在工作,他会自动设置路径,这就是你可以这样调用文件的原因。

无论如何,如上所述检查文件是否命名为好并且权限是否正确

于 2011-02-13T00:02:51.450 回答