我有两个自定义模块: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(){ }
}
SugarCRMVersión6.5.11(Build 8754)专业版。
答案 0 :(得分:2)
可以通过在文件末尾添加空白数组行来实现,即 custom / modules / cm_item / metadata / searchdefs.php
$searchdefs[$module_name] = array();
答案 1 :(得分:1)
听起来你真的只需要cm_item的模块选项卡链接到搜索和列表视图就不会显示,这样cm_items只能通过cm_product的子面板访问。要做到这一点,你不需要代码(除非你在可分发的模块中这样做)。只需将cm_item模块拖到Admin-&gt; Display Modules和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)
答案 2 :(得分:1)
您可以通过确保模块未在全局数组中列出来删除顶层模块菜单链接$ moduleList