2012-07-20 159 views
2

在SugarCRM中,某些模块(如“调用”)在列表视图中有一个“我”(其他详细信息)图标,其中显示了有关该记录的一些其他详细信息。SugarCRM在详细信息视图中添加其他详细信息图标

我想为客户访问等其他模块显示相同类型的记录的一些自定义详细信息。 任何提示或指导将有所帮助。

+0

我可以在Listview上看到'i'图标,但无法在详细视图中找到它(即使在呼叫模块中)。你确定它的细节视图? – SuVeRa 2012-10-10 10:34:29

+0

对不起,其列表视图 – AjayR 2012-10-11 00:21:15

+0

@ajay,suvera是正确的你只需要用你的模块名称和类替换{MODULE_NAME}和{MODULE_BEAN_NAME},例如你的模块名称为Customers,bean名称为Customer,而函数名称为'additionalDetailsCustomer'更多的想法。请参阅sugarcrm_installation/modules/Calls/metadata/additionalDetails.php – 2012-10-14 05:19:24

回答

3

1)在元数据文件夹{MODULENAME}/metadata/additionalDetails.php中创建一个文件。你必须找到你的模块的正确位置。

  • 定制/模块/ MODULENAME /元数据/
  • 定制/ modulebuilder /包/ PACKAGENAME /模块/ MODULENAME /元数据/
  • 等...

2),并创建一个功能像这样的东西。将{MODULENAME}{MODULE_BEAN_NAME}替换为所有地方的实际模块名称。

function additionalDetails{MODULE_BEAN_NAME}($fields) { 
    static $mod_strings; 
    if(empty($mod_strings)) { 
     global $current_language; 
     $mod_strings = return_module_language($current_language, '{MODULENAME}'); 
    } 

    $overlib_string = ''; 

    if(!empty($fields['NAME'])) 
     $overlib_string .= '<b>'. $mod_strings['LBL_NAME'] . '</b> ' . $fields['NAME'] . ' <br>'; 

    //Add whatever info you want to show up to $overlib_string 

    $editLink = "index.php?action=EditView&module={MODULENAME}&record={$fields['ID']}"; 
    $viewLink = "index.php?action=DetailView&module={MODULENAME}&record={$fields['ID']}"; 

    return array(
     'fieldToAddTo' => 'NAME', 
     'string' => $overlib_string, 
     'editLink' => $editLink, 
     'viewLink' => $viewLink 
    ); 
} 

你必须创建$overlib_string与数据(HTML)。如果你需要编辑和查看你的模式框上的链接,你也必须返回它们。 $fields是一个包含db记录的关联数组。

3)i图标应出现在模块列表视图中。