HELP! with Service Portal breadcrumbs

Mike D1
Giga Guru

Hi

 

A couple of years back we asked a vendor to re-style our portal, as part of that they created a new custom breadcrumb widget. Problem is we have no support agreement with them any longer. 

 

I have recently been asked to implement the OOTB Ideas Portal and add it to our Service Portal - I have done this by creating a link and adding SP in the front. The pages seem to come with the OOTB breadcrumb widget, however a couple of problems :

 

1) The home button goes back to the Ideas Portal (not SP home) - ideas_list > create_edit_idea > view_idea

2) It is not matching our custom breadcrumb widget, so would like to swap it out for this.

 

How I need the breadcrumb to act with our custom widget:

SP home > ideas_list > create_edit_idea > view_idea

 

When I add our custom breadcrumb widget it just goes to each page individually as follows instead of leaving the trail:

SP home > ideas_list

SP home > create_edit_idea

SP home > view_idea

 

I'm hoping there is an easy way to fix this. Even if it is using the OOTB breadcrumbs as last resort. I just need home to be the Service Portal and not Ideas Portal, and the breadcrumbs to work as they should.

 

MikeD1_0-1666900529950.png

 

 

Many thanks

Mike

 

 

1 ACCEPTED SOLUTION

I would agree with you that it should be there, but your custom breadcrumb widget is not that much different than the stock widget in that it is not building the trail of visited pages dynamically; it is simply putting out the breadcrumbs requested by the page (or more specifically, by the widget(s) that are on the page). In the case of the Create New Idea widget, it's "list" (not counting Home) is one item:

$rootScope.$broadcast('sp.update.breadcrumbs', [{
                label: $scope.data.messages.createIdeaLbl,
                url: '#'
            }]);

 

This is picked up in your breadcrumbs widget here:

$rootScope.$on("sp.update.breadcrumbs", function(e, list) {
		c.breadcrumbs = list;
	});

 

To add the extra item to the breadcrumb for this page, you would just need to edit that widget and have it send the extra page in the list of breadcrumbs. This is different than the dynamic breadcrumbs widget, but that one only works properly if every page in your portal uses the widget. Otherwise, it won't pick up visits to pages that don't have the widget on the page and the breadcrumbs will be incomplete.

 

 

 

View solution in original post

7 REPLIES 7

Hi Jeff

 

I changed the href point blacked out here:

MikeD1_0-1667161550169.png

 

 

and the home link is now working, which is great, however it still doesn't seem to be keeping track of the 2nd page when I click "create an idea" button -  see the following screenshots:

 

MikeD1_1-1667161909393.png

Idea should still be in the breadcrumb...

MikeD1_2-1667162011372.png

 

I would agree with you that it should be there, but your custom breadcrumb widget is not that much different than the stock widget in that it is not building the trail of visited pages dynamically; it is simply putting out the breadcrumbs requested by the page (or more specifically, by the widget(s) that are on the page). In the case of the Create New Idea widget, it's "list" (not counting Home) is one item:

$rootScope.$broadcast('sp.update.breadcrumbs', [{
                label: $scope.data.messages.createIdeaLbl,
                url: '#'
            }]);

 

This is picked up in your breadcrumbs widget here:

$rootScope.$on("sp.update.breadcrumbs", function(e, list) {
		c.breadcrumbs = list;
	});

 

To add the extra item to the breadcrumb for this page, you would just need to edit that widget and have it send the extra page in the list of breadcrumbs. This is different than the dynamic breadcrumbs widget, but that one only works properly if every page in your portal uses the widget. Otherwise, it won't pick up visits to pages that don't have the widget on the page and the breadcrumbs will be incomplete.

 

 

 

Ahh ok I got you now Jeff. Thanks for your help with this, I really appreciate it.

 

Mike