SCP Portal Fiori 2.0中的自定义用户映像

2020-09-12 10:56发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家,

我点击了以下链接以在门户网站中填充用户图像。

https://blogs.sap.com/2016/12/02/custom-user-image-in-fiori-2.0/#comment-402737

但是,我遇到了一个问题,即图像能够在几秒钟内加载,然后在启动板完成加载后消失。

下面是我的component.js完整代码

 sap.ui.define([
 " sap/ui/core/Component",
 " sap/m/Button",
 "树汁/米/巴",
 " sap/m/MessageToast"
 ],功能(组件,按钮,栏,MessageToast){


 var sComponentName =" nv.flp.plugin1";


 返回Component.extend(" nv.flp.plugin1.Component",{


 元数据:{
 "清单":" json"
 },


 _getRenderer:函数(){
 var that = this,
 oDeferred =新的jQuery.Deferred(),
 渲染器;


 that._oShellContainer = jQuery.sap.getObject(" sap.ushell.Container");
 如果(!that._oShellContainer){
 oDeferred.reject(
 "非法状态:shell容器不可用;此组件必须在统一的shell运行时上下文中执行。"
 }其他{
 oRenderer = that._oShellContainer.getRenderer();
 如果(oRenderer){
 oDeferred.resolve(oRenderer);
 }其他{
//渲染器尚未初始化,请监听rendererCreated事件
 that._onRendererCreated =函数(oEvent){
 oRenderer = oEvent.getParameter(" renderer");
 如果(oRenderer){
 oDeferred.resolve(oRenderer);
 }其他{
 oDeferred.reject("非法状态:shell渲染器在收到'rendererLoaded'事件后不可用。");
 }
 };
 that._oShellContainer.attachRendererCreatedEvent(that._onRendererCreated);
 }
 }
 返回oDeferred.promise();
 },


 初始化:函数(){
//var that = this;
 var fgetService = sap.ushell && sap.ushell.Container && sap.ushell.Container.getService;
 this.oCrossAppNavigator = fgetService && fgetService(" CrossApplicationNavigation");


 this._getRenderer()。fail(function(sErrorMessage){
 jQuery.sap.log.error(sErrorMessage,未定义,sComponentName);
 })
 .done(function(oRenderer){
 var sRootPath = jQuery.sap.getModulePath(sComponentName);
 var imageSource = sRootPath +"/img/icon1.png";
 var smallImage = imageSource +"?size = SMALL";
//下面是左上方的小图标
 $("#meAreaHeaderButton")。html(" <​​img style ='max-width:100%; height:auto;'src=" + smallImage +">"));


//下面是我区域
 var GreaterImage = imageSource +"?size = BIG";
 $("。sapUshellMeAreaUserImage")。html(" <​​img style ='最大宽度:100%;高度:自动;位置:绝对;左侧:-0px;顶部:-0px;'src=" +
 GreaterImage +">");
 });
 },


 出口:功能(){
 如果(this._oShellContainer && this._onRendererCreated){
 this._oShellContainer.detachRendererCreatedEvent(this._onRendererCreated);
 }
 },


 之后:function(){
 var sRootPath = jQuery.sap.getModulePath(sComponentName);
 var imageSource = sRootPath +"/img/icon1.png";
 $("。sapUshellMeAreaUserImage")。html(" <​​img style ='max-width:100%; height:auto;'src=" + imageSource +">"));
 }


 });
 });
 

有人遇到过这个问题吗?

谢谢。

此致

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家,

我点击了以下链接以在门户网站中填充用户图像。

https://blogs.sap.com/2016/12/02/custom-user-image-in-fiori-2.0/#comment-402737

但是,我遇到了一个问题,即图像能够在几秒钟内加载,然后在启动板完成加载后消失。

下面是我的component.js完整代码

 sap.ui.define([
 " sap/ui/core/Component",
 " sap/m/Button",
 "树汁/米/巴",
 " sap/m/MessageToast"
 ],功能(组件,按钮,栏,MessageToast){


 var sComponentName =" nv.flp.plugin1";


 返回Component.extend(" nv.flp.plugin1.Component",{


 元数据:{
 "清单":" json"
 },


 _getRenderer:函数(){
 var that = this,
 oDeferred =新的jQuery.Deferred(),
 渲染器;


 that._oShellContainer = jQuery.sap.getObject(" sap.ushell.Container");
 如果(!that._oShellContainer){
 oDeferred.reject(
 "非法状态:shell容器不可用;此组件必须在统一的shell运行时上下文中执行。"
 }其他{
 oRenderer = that._oShellContainer.getRenderer();
 如果(oRenderer){
 oDeferred.resolve(oRenderer);
 }其他{
//渲染器尚未初始化,请监听rendererCreated事件
 that._onRendererCreated =函数(oEvent){
 oRenderer = oEvent.getParameter(" renderer");
 如果(oRenderer){
 oDeferred.resolve(oRenderer);
 }其他{
 oDeferred.reject("非法状态:shell渲染器在收到'rendererLoaded'事件后不可用。");
 }
 };
 that._oShellContainer.attachRendererCreatedEvent(that._onRendererCreated);
 }
 }
 返回oDeferred.promise();
 },


 初始化:函数(){
//var that = this;
 var fgetService = sap.ushell && sap.ushell.Container && sap.ushell.Container.getService;
 this.oCrossAppNavigator = fgetService && fgetService(" CrossApplicationNavigation");


 this._getRenderer()。fail(function(sErrorMessage){
 jQuery.sap.log.error(sErrorMessage,未定义,sComponentName);
 })
 .done(function(oRenderer){
 var sRootPath = jQuery.sap.getModulePath(sComponentName);
 var imageSource = sRootPath +"/img/icon1.png";
 var smallImage = imageSource +"?size = SMALL";
//下面是左上方的小图标
 $("#meAreaHeaderButton")。html(" <​​img style ='max-width:100%; height:auto;'src=" + smallImage +">"));


//下面是我区域
 var GreaterImage = imageSource +"?size = BIG";
 $("。sapUshellMeAreaUserImage")。html(" <​​img style ='最大宽度:100%;高度:自动;位置:绝对;左侧:-0px;顶部:-0px;'src=" +
 GreaterImage +">");
 });
 },


 出口:功能(){
 如果(this._oShellContainer && this._onRendererCreated){
 this._oShellContainer.detachRendererCreatedEvent(this._onRendererCreated);
 }
 },


 之后:function(){
 var sRootPath = jQuery.sap.getModulePath(sComponentName);
 var imageSource = sRootPath +"/img/icon1.png";
 $("。sapUshellMeAreaUserImage")。html(" <​​img style ='max-width:100%; height:auto;'src=" + imageSource +">"));
 }


 });
 });
 

有人遇到过这个问题吗?

谢谢。

此致

付费偷看设置
发送
5条回答
四川大学会员
1楼-- · 2020-09-12 11:47
何必丶何苦呢
2楼-- · 2020-09-12 11:46

你好本

您快完成了。 而不是通过以下语句直接更改html代码:

$("#meAreaHeaderButton")。html(" <​​img style ='最大宽度:100%; height:auto;'src=" + imageSource +">");

您需要更改图标型号:

sap.ui.getCore()。byId(" meAreaHeaderButton")。setIcon(imageSource);

然后,当您导航到应用程序或其他页面时,图像不会消失。

最好的问候

Michal

野沐沐
3楼-- · 2020-09-12 11:47

嗨,

尝试超时:

setTimeout(function(){

//下面是左上方的小图标

$("#meAreaHeaderButton")。html(" <​​img style ='最大宽度:100%; height:auto;'src=" + smallImage +">");

},500);

何必丶何苦呢
4楼-- · 2020-09-12 11:22

您好Shanmugam,

我应用了与您在线程中提到的逻辑相同的逻辑,但是脚本引发了错误。

还有其他方法可以从公司门户中选择照片。这是我使用的代码。 在此先感谢!

谢谢

Ranjith

clever101
5楼-- · 2020-09-12 11:46

嗨@ Ivan Iastremskyi

相同的结果。 页面加载完成后,图像仍会消失。

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答