Dynamic Logo on Service Portal

arnabbose
Tera Expert

Hi,

How can we have a Dynamic logo based on users company in Service Portal?

I want to use gs.getUser().getCompanyID() in server side and populate this according to company.

I have already cloned and created a custom header from Stock Header , but can anyone tell me how I can establish this?

find_real_file.png

1 ACCEPTED SOLUTION

Hi Arnab,



I just tried as b-rad has suggested which may help you :


Steps:


1. Clone "Stock Header" widget.


2. Make changes as described in step 4 & 5.


3. Goto your portal Themes and update "Header" field value with newly created widget (clone of stock header).



4.- Add below server script where you need to query and assign image URL :


var company_id = gs.getUser().getCompanyID();


//var grGetCompanyLogo = new GlideRecord('table_name');



data.company_logo_url = 'image URL'; // when you get image path


if(data.company_logo_url =='')


        data.company_logo_url = false; // When you don't get dynamic image path




5. Update below HTML :


  <a class="navbar-brand" ng-if="::!portal.logo && !data.company_logo_url" href="?id={{::portal.homepage_dv}}"><span>{{::portal.title}}</span></a>


          <a class="navbar-brand navbar-brand-logo" ng-if="::portal.logo && !data.company_logo_url" href="?id={{::portal.homepage_dv}}">


                        <img ng-src="{{::portal.logo}}" />


          </a>



          <a class="navbar-brand" ng-if="!data.company_logo_url" href="?id={{c.data.portal_home_url}}"><span>{{c.data.portal_title}}</span></a>


          <a class="navbar-brand navbar-brand-logo" ng-if="data.company_logo_url" href="?id={{c.data.portal_home_url}}">


                      <img ng-src="{{c.data.company_logo_url}}" />


          </a>



Here we are checking :


if the custom company logo url is set/present then show custom logo else show portal logo (just in-case when image URL is blank) you may change as per your requirement.


View solution in original post

12 REPLIES 12

Thanks Chirag,

This works exactly as you outlined!

arnabbose
Tera Expert

ANY HELP ON THIS PLEASE....


You would need to create a mapping between the company and the image, then in the server script portion of the script grab the correct image for the current company, and then update the html section to show the correct image.