SugarCRM SubPanel "load_subpanel" returns false


SugarCRM SubPanel "load_subpanel" returns false

我安装了一个大量扩展的SugarCRM,并且遇到了一个从未见过的问题。我希望有人能帮忙。在我的"Patients"模块中,有一个"Appointments"子面板在列表视图中缺少一个字段。为了尝试解决这个问题,我在患者->子面板下的工作室中单击"约会",我得到了这个错误:

注意:未定义变量:originalSubpanel在/home/developer/webdev/dev/html/ics/cms/modules/modulebuilder/parsers/views/DeployedSubpanelImplementation.php的101行致命错误:调用成员函数get_list_fields()在null

debug mode日志显示FATAL ERROR:

[FATAL]在modules/Meetings/metadata/subpanels/appointments .php中加载cases_meetings_1的原始或自定义子面板数据失败

供参考-病例=患者,会议=预约

根据我的理解,这是由"load_subpanel"方法返回false引起的。我在SubPanelDefinitions.php中找到了"load_subpanel"方法,发现了以下代码:

    function load_subpanel($name, $reload = false, $original_only = false) {
    if (!is_dir('modules/' . $this->layout_defs ['subpanel_setup'][strtolower($name)] ['module'])) {
        return false;
    }
    $subpanel = new aSubPanel($name, $this->layout_defs ['subpanel_setup'] [strtolower($name)], $this->_focus, $reload, $original_only);
    // only return the subpanel object if we can display it.
    if ($subpanel->canDisplay == true) {
        return $subpanel;
    }
    // by default return false so we don't show anything if it's not required.
    return false;

所以我进入"显示模块和子面板"子面板是在"显示"列,这意味着它应该有'canDisplay'设置为真。

有没有人遇到过这种情况,有没有人知道我下一步可以去哪里看?

谢谢!

在与这个问题斗争了几个小时之后,我发现案例和会议之间的relationship是不正确构建的。删除这个关系并重新构建它已经解决了问题。