1

我有两个自定义模块:cm_product, cm_item

具有一对多关系:cm_product -> cm_item

我想禁用 的搜索页面cm_item,因此查看客户项目的唯一方法是通过它的父参考:cm_product

我需要通过代码来完成它。

如果有人感兴趣,这是我的临时解决方案,文件 - custom/modules/cm_item/views/view.list.php

<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');

require_once 'include/MVC/View/views/view.list.php';

class cm_itemViewList extends ViewList
{
    public function preDisplay() { }
    public function display() {
        echo <<<HTML
        <h1>Por favor seleccione la Oportunidad para ver sus correspondientes ventas e items.</h1>
HTML;
    }
    function prepareSearchForm(){ }
    function listViewProcess(){ }
}

SugarCRM 版本 6.5.11(内部版本 8754)专业版。

4

3 回答 3

2

可以通过在文件末尾添加空白数组行来实现,即 custom/modules/cm_item/metadata/searchdefs.php

$searchdefs[$module_name] = array();
于 2013-05-15T12:34:35.487 回答
1

听起来您真的只需要不显示链接到搜索和列表视图的 cm_item 的模块选项卡,因此 cm_items 只能通过 cm_product 的子面板访问。为此,您不需要代码(除非您在可分发模块中执行此操作)。只需将 cm_item 模块拖到 Admin->Display Modules and Subpanels 中的 Hidden Modules 列表中。如果您要大规模分发模块,那么您可以在 manifest.php 中的 beans 定义中将 tab 设置为 true(请参阅http://support.sugarcrm.com/04_Find_Answers/03_Developers/Module_Loader/Introduction_to_the_Manifest_File#tab

于 2013-05-14T02:22:36.663 回答
1

您可以通过确保模块未在全局数组 $moduleList 中列出来删除顶部模块菜单链接

于 2013-05-14T13:30:06.867 回答