注:我用的SugarCRM是6.5.8的社区版,以下描述的修改,都是基于这个版本的。
1、如何修改SugarCRM默认登录后的显示模块
SugarCRM默认登录后会进入首页,如果需要修改为自己的模块,可以直接通过config_override.php进行修改,添加如下的配置信息:
$sugar_config['default_module'] = '模块名称';
2、如何隐藏SugarCRM在页面底部的版权页
找到themes\Sugar5\tpls\footer.tpl文件,将里面的
<div id="footer"">
修改为:
<div id="footer" style="display:none">
3、如何在登录成功后,在页面头部显示自定义信息
SugarCRM登录成功后,在页面最上方显示一个自定义内容框,可以使用SugarCRM提供的钩子,但是因为我每次都要显示,因此我的做法是直接修改thems\Sugar5\tpls\header.tpl,在里面添加自己需要的内容,例如:
{if $AUTHENTICATED} <script type='text/javascript'> window.parent.status_check_ok("{$CURRENT_USER_WORKNO}"); </script> {/if}
上面 $AUTHENTICATED 试看有没有登录,下面则是在登录后去,我自己写的JS调用。
4、系统管理页面里面,如果邮箱设置没有设置好,SugarCRM总是出来一个红字提醒提供设置正确的邮箱服务器。因为我这里没有必要使用邮箱设置,所以需要去掉这段显示,方法为,找到modules\Administrator\DisplayWarnings.php,将
function displayAdminError($errorString){ $output = '<p class="error">' . $errorString .'</p>'; echo $output; }
修改为
function displayAdminError($errorString){ $output = '<p class="error" style="display:none">' . $errorString .'</p>'; echo $output; }
5、默认首页的Sugar Feeds、Sugar News总让人很心烦,去掉它很简单,找到modules\Home\index.php,注释掉:
// This is here to get Sugar dashlets added above the rest $dashlets[create_guid()] = array('className' => 'iFrameDashlet', 'module' => 'Home', 'forceColumn' => 0, 'fileLocation' => $dashletsFiles['iFrameDashlet']['file'], 'options' => array('titleLabel' => 'LBL_DASHLET_DISCOVER_SUGAR_PRO', 'url' => 'http://www.sugarcrm.com/crm/product/gopro', 'height' => 315, )); $dashlets[create_guid()] = array ('className' => 'SugarFeedDashlet', 'module' => 'SugarFeed', 'forceColumn' => 1, 'fileLocation' => $dashletsFiles['SugarFeedDashlet']['file'], ); $dashlets[create_guid()] = array('className' => 'iFrameDashlet', 'module' => 'Home', 'forceColumn' => 1, 'fileLocation' => $dashletsFiles['iFrameDashlet']['file'], 'options' => array('titleLabel' => 'LBL_DASHLET_SUGAR_NEWS', 'url' => 'http://www.sugarcrm.com/crm/product/news', 'height' => 315, ));
注意,这边注释掉的话,仅仅是在注释掉以后新创建的用户生效,老用户是访问历史配置数据信息中的,要去掉老用户的显示,可以自己关闭显示不需要的模块,或者直接在数据中清除记录。
6、SugarCRM系统管理页面里面的出现的官方信息页面很烦人,去掉它的方式很简单,找到modules\Administrator\metadata\adminpaneldefs.php,删除以下内容:
$admin_option_defs['Administration']['support']= array('Support','LBL_SUPPORT_TITLE','LBL_SUPPORT','./index.php?module=Administration&action=SupportPortal&view=support_portal'); $admin_option_defs['documentation']= array('OnlineDocumentation','LBL_DOCUMENTATION_TITLE','LBL_DOCUMENTATION','./index.php?module=Administration&action=SupportPortal&view=documentation&help_module=Administration&edition='.$sugar_flavor.'&key='.$server_unique_key.'&language='.$current_language); $admin_option_defs['Administration']['update'] = array('sugarupdate','LBL_SUGAR_UPDATE_TITLE','LBL_SUGAR_UPDATE','./index.php?module=Administration&action=Updater'); $admin_option_defs['Administration']['documentation']= array('OnlineDocumentation','LBL_DOCUMENTATION_TITLE','LBL_DOCUMENTATION', 'javascript:void window.open("index.php?module=Administration&action=SupportPortal&view=documentation&help_module=Administration&edition='.$sugar_flavor.'&key='.$server_unique_key.'&language='.$current_language.'", "helpwin","width=600,height=600,status=0,resizable=1,scrollbars=1,toolbar=0,location=0")'); if(!empty($license->settings['license_latest_versions'])){ $encodedVersions = $license->settings['license_latest_versions']; $versions = unserialize(base64_decode( $encodedVersions)); include('sugar_version.php'); if(!empty($versions)){ foreach($versions as $version){ if(compareVersions($version['version'], $sugar_version)) { $admin_option_defs['Administration']['update'][] ='red'; if(!isset($admin_option_defs['Administration']['update']['additional_label']))$admin_option_defs['Administration']['update']['additional_label']= '('.$version['version'].')'; } } } } $admin_group_header[]= array('LBL_SUGAR_NETWORK_TITLE','',false,$admin_option_defs, 'LBL_SUGAR_NETWORK_DESC');
同样,如果你想在系统管理页面中删除某些页面,或者添加某些页面的话,都可以通过修改这个文件来实现。