KB Articles displayed in Employee center

Jakub Koncek
Tera Contributor

Dear community, we have an issue with displaying KB articles from templates in Employee center.


The KB articles created via Article templates are displayed via wrong page and widget and we need to make sure they are being displayed via kb_article page and kb-article-content widget (OOB way).

 

Would you know where is the component that generates the URL and how it is generated to display the KB article in Employee center?

 

We need to make sure a different page and different widget does not replace the OOB page & widget for displaying KB articles created via Article templates.

1 ACCEPTED SOLUTION

Peter Bodelier
Giga Sage

Hi @Jakub Koncek,

 

Not sure that I fully understand your issue, but I think it would be solved by using Service Portal > Page Route Maps.
See also: Enable the page route map (servicenow.com) (Docs for HR, but works for all portals and pages)


Help others to find a correct solution by marking the appropriate response as accepted solution and helpful.

View solution in original post

8 REPLIES 8

Thanks for adding this @E Camacho.

There can be multiple solutions for this problem.

First is the accepted solution to use the page route map.

Second is your suggestion:

In the Search Result Actions (All > Service Portal > AI Search > Search Results Action) Update the Service Portal field.

And third is changing the Search source:

Portals > <Portalname>> Search Sources > PortalName Knowledge

it reads generally 

<div>
  <a href="?id=form&sys_id={{item.sys_id}}&table={{item.table}}" class="h4 text-primary m-b-sm block">
    <span ng-bind-html="highlight(item.primary, data.q)"></span>
  </a>
  <span class="text-muted" ng-repeat="f in item.fields | limitTo: 4">
    <span class="m-l-xs m-r-xs" ng-if="!$first"> &middot; </span>
    {{f.label}}: <span ng-bind-html="highlight(f.display_value, data.q)"></span>
  </span>
</div>

 

replace id=form to id=kb_article

 

<div>
  <a href="?id=kb_article&sys_id={{item.sys_id}}&table={{item.table}}" class="h4 text-primary m-b-sm block">
    <span ng-bind-html="highlight(item.primary, data.q)"></span>
  </a>
  <span class="text-muted" ng-repeat="f in item.fields | limitTo: 4">
    <span class="m-l-xs m-r-xs" ng-if="!$first"> &middot; </span>
    {{f.label}}: <span ng-bind-html="highlight(f.display_value, data.q)"></span>
  </span>
</div>

 


Help others to find a correct solution by marking the appropriate response as accepted solution and helpful.

Austin Tebbenh1
Tera Contributor

So you changed the 'Portal page' for one of these configurations? I've tried changing the 'Action name' and that hasn't worked

Jakub Koncek
Tera Contributor

Thank you for suggestion.

The solution from Peter has resolved the problem Page route maps seems to be universal enough to replace one page by another when the routing takes place within the same portal.

Austin Tebbenh1
Tera Contributor