页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

1. 需求背景说明

       在客户的生产环境中部署 Smartbi 程序时,通常需要需要对其做一些简单的客户化定制,比如替换登录界面、以及主界面顶部的LOGO和图片、或者修改程序名称标识等。

2. 功能说明

       该插件包的主要功能有:替换登陆页整页内容;替换登陆页logo;替换导航栏logo;替换导航栏显示的样式;替换关于弹窗logo。

       详细的说明可参考Wiki:更换产品显示方式_插件包方式

3. 操作说明

3.1. 部署开发插件包

       部署 ChangeLogoV9.ext,详细说明请参考Wiki链接:插件部署


面板
borderColor#BBBBBB
bgColor#F0F0F0
borderWidth1
borderStylesolid

目录


3.2. 替换登陆页整页内容

       1、修改插件包中某个文件

       (1) 首先用 WinRAR 之类的压缩工具,打开 ChangeLogo.ext 文件。

       (2) 然后将需要修改的文件从 WinRAR 窗口中拖出来,对其进行修改。

       (3) 接着将修改后的文件,拖放回 WinRAR 窗口中,覆盖以前的旧文件。

       (4) 关闭 WinRAR 窗口保存修改即可。

       2、引入替换的页面

       将替换的页面引入到插件包的vision文件夹下

Image RemovedImage Added

       3、修改配置文件

       修改插件包/ChangeLogo/src/web/vision/js/ext/路径下的ConfigurationPatch.js文件,配置项说明如下:

loginTitle——修改登陆页的标题

loginJspPath——自定义登录页面相对vision的地址

applicationTitle——登陆后首页标题

configTitle——系统设置标题

extensionPoints——扩展的资源信息,当前插件包可以用来引入样式信息

Image RemovedImage Added

       4、注意点

       若是引入的登陆页仍需要走smartbi原有的验证逻辑,需要在引入的登陆页中加入以下smartbi登陆验证的代码逻辑。

代码块
titleSmartbi登录验证逻辑
linenumberstrue
collapsetrue
var jsloader = new JSLoader({lang:'<%=smartbi.Bootstrap.getLocaleName(request)%>'});
var util = jsloader.resolve("freequery.common.util");
document.onkeydown = keydown;
function init() {
var userName = document.getElementById("user");
if (userName)
userName.focus();
}
function login() {
var userName = document.getElementById("user"); //用户名输入框ID修改为实际HTML中的元素ID
var password = document.getElementById("password"); //密码输入框ID修改为实际HTML中的元素ID
var ret = util.remoteInvokeEx("UserService", "login", [userName.value, password.value]); //调用Smartbi登录方法


if (!ret || !ret.result){
alert("登录失败!");
return;
} else {
var url = window.location + '';
var p = url.indexOf('login_demo.jsp');
if (p > -1) {
window.location = url.substring(0, p);
} else {
window.location.reload();
}
}
}
function keydown(e) {
        var theEvent = e || window.event;
        var code = theEvent.keyCode || theEvent.which || theEvent.charCode;    
        if (code == 13) {
            login();
        }    
}

       将设计好的logo覆盖到/ChangeLogo/src/web/vision/img/login路径下的logo.png文件即可替换原来的logo样式

Image RemovedImage Added

Image RemovedImage Added

      将设计好的logo覆盖到/ChangeLogo/src/web/vision/img/baseframe路径下的logo-mini.png文件即可替换原来的logo样式

Image RemovedImage AddedImage Removed

Image Added

3.5替换导航栏显示的样式

       由于在2.2.2修改配置文件中,引入了css样式的文件的路径为/ChangeLogo/src/web/vision/css/patch.css,因此找到/ChangeLogo/src/web/vision/css下的patch.css文件,修改文件中.mainTopTd的样式。具体修改内容参考css文档的详解http://css.doyoe.com/

Image RemovedImage Added

       将设计好的logo覆盖到/ChangeLogo/src/web/vision/img/about路径下的logo.png文件即可替换原来的logo样式

Image RemovedImage Added

Image RemovedImage Added

4. 注意事项

       1、修改完插件包的文件之后,需要保存

       2、修改的位置需正确,否则会导致正常功能失效

       3、若需要替换更多的图片,需先找到该图片所在目录,找目录请参考 前端定位技巧