- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
on 04-09-2019 07:08 AM
Because i have received very much information from this comunity, y wish to share some content too.
I have see some posts in what people want load custom catalog items widgets, some sugestion are to modify the sc_category_page or other widgets. In order to achieve the same objective only modifying a page, you can do the following.
My particular case is that i need to load the standard Order Guide widget in some cases, and a custom order guide widget if the ordet guide is relate to a custom model created by me.
Procedure:
1- create a intermediate widget to decide what widget to load
2- replace the standar order guide widget from the page sc_cat_item_guide (in my case) and put the intermediate widget
3- enjoy... 🙂
The intemediate widge contet is this:
Template:
<div ng-if="data.mode=='workspace'">
<widget id="sc_order_guide_workspace"></widget>
</div>
<div ng-if="data.mode=='order_guide'">
<widget id="widget-sc-order-guide-v2"></widget>
</div>
Client script:
function($scope) {
/* Attention, very complex code, i need to siplify it in the future, sorry */
var c = $scope;
}
Server script:
(function() {
var guideJS;
data.sys_id = $sp.getParameter("sys_id");
//data.sys_id = '31862ecc4f707300c999045e9310c7ab';
var guideGr = new GlideRecord('sc_cat_item_guide');
guideGr.get(data.sys_id);
// Select the widget to show
var modelType = guideGr.model.sys_class_name.toString();
if (modelType == 'u_cmdb_workspace_product_model') {
data.mode = 'workspace';
} else {
data.mode = 'order_guide';
}
})();
Thats all.
- 573 Views