Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

How to control the display of the portal header logo by role

HS7
Giga Guru

Hi

I would like to control the display of the portal header logo by role.
I want logo A to be displayed to users with role A, and logo B to be displayed to users with role B.
Isn't the portal header a widget? If it was a widget, I think you could set it to be displayed or hidden by role.

1 ACCEPTED SOLUTION

It is possible to show different logo for each company without creating multiple portals 

1. Navigate to System UI -> Images

Upload logo for each company

2. Create a new system property to map logo for each company

Name - comp.logo.mapping

Description - JSON Key - company sysid
                         JSON Value - image name uploaded in step 1

Value - 

{
"86837a386f0331003b3c498f5d3ee4ca" : "logo1.svg",

"20d5991dd7600200e5982cf65e6103b7":"logo2.png"

}

 

3. Navigate to Service Portal -> Portals and Open CSM portal Theme

Clone the out of the box header widget and update it to the theme

4. Open the cloned header widget

HTML - update the highlighted line

Shruti_0-1753336560484.png

 

5. Add below lines to the server script

     var company_id = gs.getUser().getCompanyID();
    var logo_src  = JSON.parse(gs.getProperty('comp.logo.mapping'));
    data.logo = logo_src[company_id];

 

 

View solution in original post

12 REPLIES 12

@Shruti  

I checked the log and there doesn't seem to be a problem...

 

HS7_0-1753335590487.pngHS7_1-1753335605532.pngHS7_2-1753335613507.png

 

@HS7 Update HTML template

Shruti_0-1753336134339.png

 

@Shruti  

Solved. Thank you very much.

I have an additional question: what should I do if I want to hide the logo from certain users?