diff --git a/Modern Development/Service Portal Widgets/custom404/HTML.js b/Modern Development/Service Portal Widgets/custom404/HTML.js new file mode 100644 index 0000000000..85a8564627 --- /dev/null +++ b/Modern Development/Service Portal Widgets/custom404/HTML.js @@ -0,0 +1,10 @@ +
+

${This page could not be found. Based on your search we have found below valid pages}

+
+ +
+
diff --git a/Modern Development/Service Portal Widgets/custom404/README.md b/Modern Development/Service Portal Widgets/custom404/README.md new file mode 100644 index 0000000000..da1c1082cb --- /dev/null +++ b/Modern Development/Service Portal Widgets/custom404/README.md @@ -0,0 +1,15 @@ +**How to use** +1. Add this widget to new portal page. +2. Add the page in "sp_portal" record in 404 field. + +**Use Case** +1. Some organizations do not want to show OOB 404 page having game but want to show the suggestions with correct pages. + +**Result** +1. This code will search the 3 letters of page_id from URL and will suggest correct pages. +2. The correct links will open the pages in next tab. + + 404 + + + diff --git a/Modern Development/Service Portal Widgets/custom404/css.js b/Modern Development/Service Portal Widgets/custom404/css.js new file mode 100644 index 0000000000..a368d6bae2 --- /dev/null +++ b/Modern Development/Service Portal Widgets/custom404/css.js @@ -0,0 +1,15 @@ +.heading-message{ + color:red; +} +.page-container{ + display: flex; + justify-content: space-evenly; + flex-direction:cloumn; +} +ul{ + padding: 2rem; + list-style-type: disclosure-closed; +} +li{ + padding:1rem; +} diff --git a/Modern Development/Service Portal Widgets/custom404/server.js b/Modern Development/Service Portal Widgets/custom404/server.js new file mode 100644 index 0000000000..a9f02c48a1 --- /dev/null +++ b/Modern Development/Service Portal Widgets/custom404/server.js @@ -0,0 +1,20 @@ +(function() { + /* + This script will get the 3 characters of page_id from url and suggest valid pages. + */ + data.pageArr = []; // array to store related pages + var pageId = $sp.getParameter('id').toString(); // get page id from url + // get 3 letters of page id + if (pageId && pageId.length() > 3) + pageId = pageId.substring(0, 3); + + var relatedPages = new GlideRecord('sp_page'); + relatedPages.addEncodedQuery('idLIKE' + pageId); + relatedPages.query(); + while (relatedPages.next()) { + var tempList = {}; // temporary object. + tempList.name = relatedPages.getValue('title'); + tempList.url = '/' + $sp.getValue('url_suffix') + '?id=' + relatedPages.getValue('id'); + data.pageArr.push(tempList); // add related suggested pages to array + } +})();