【问题标题】:sugarcrm programmatically hiding module menuSugarcrm 以编程方式隐藏模块菜单
【发布时间】:2013-05-13 20:43:48
【问题描述】:

我知道有一种方法可以从 Admin -> Display Modules and Subpanels 隐藏模块菜单。 有没有办法从代码中做同样的事情。

特别是我需要隐藏我的自定义模块:cm_items。这样客户就可以从其他引用的自定义模块访问此模块项。

我正在使用 SugarCRM 版本 6.5.11(内部版本 8754)的 PRO 版

【问题讨论】:

    标签: sugarcrm


    【解决方案1】:

    在您的 modules/cm_items/ 目录中,您应该能够放入一个空的 Menu.php 文件。如果这不起作用,请尝试重置该文件中的 $module_menu 数组:

    $module_menu = array();
    

    【讨论】:

    • 已经有Menu.php,我在末尾添加了$module_menu = array(),我也尝试将其添加到/custom/extension/modules/cm_items/Ext/Menus/CustomMenu.php。但是菜单还在。唯一消失的是模块的子菜单(创建新项目、项目视图和导入)
    【解决方案2】:

    确保该模块未在全局数组 $moduleList 中列出,并且不应添加。

    【讨论】:

    • 如果我从数组 $moduleList 中删除模块,它是否可以从 REST API 获得?我正在使用 REST API 插入这些项目。
    • 它部分工作。它删除了菜单,但是当我进入父模块并转到项目时,顶部菜单再次出现,我单击那里仍然可以看到项目列表。有什么想法吗?
    • @jmetric 从 $moduleList 中删除模块后,我发现了一些奇怪的行为。菜单有时会再次出现在网站上。是否与某些模板缓存有关?
    【解决方案3】:

    只需在 custom/Extension/application/Ext/Language/en_us.lang.ext.php 文件中注释该行

    $app_list_strings['moduleList']['cm_items'] = 'items';
    

    【讨论】:

    • 它不起作用,实际上注释该行的正确位置在:custom/Extension/application/Ext/Language/.. 如果没有来自您所在位置的文件将在 Admin -> Repair 后重新生成。
    猜你喜欢
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    相关资源
    最近更新 更多