注:我用的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');
同样,如果你想在系统管理页面中删除某些页面,或者添加某些页面的话,都可以通过修改这个文件来实现。