38 views

Description

When you have a list of content in CMS that points to sc_cat_item records, the catalog view and catalog sys ID do not get set correctly.

This results in the default of order_things being used for "Continue Shopping", rather than the value specified in the Sites related list on the catalog record itself.

If the customer has changed or removed the order_things page, then this results in a page not found error.

 

Steps to Reproduce

 

In a Geneva or early Helsinki instance:

  1. Navigate to the Order Things page in CMS.
  2. Rename the URL from order_things to be order_things_oob and save.
  3. Navigate to Maintain Catalogs > Service Catalog > Sites.
  4. Update the "CMS Homepage" and "CMS 'Continue Shopping' page" fields for the Employee Self-Service entry to be order_things_oob. This will allow the "Continue Shopping" button to point to the order_things_oob URL, which is valid because of the changes made in step 2.
  5. Create a new CMS page for the Employee Self-Service site.
  6. Use the Add Content feature to add the "Order Computers" list block to the page. This is a list block that adds active=true and category=hardware sc_cat_item records to the list.
  7. Preview the CMS page.
  8. Click one of the links in the page and add the item to your cart.
  9. Click Continue Shopping.

Users get a page not found error against order_things.

Workaround

This problem is fixed in Helsinki Patch 10, Istanbul and onwards. If an upgrade is not possible, the following workaround can be used:

  1. Open the script include record at /nav_to.do?uri=/sys_script_include.do%3Fsys_id%3D73c1f001c3111100c8b837659bba8f74

  2. Update lines 97 to 102 as below:
    GlideappCatalogURLGenerator.getContinueShoppingUrl = function(catalogID, catalogView) {
    return SNC.CatalogURLGenerator.getContinueShoppingUrl(catalogID, catalogView);
    }
    GlideappCatalogURLGenerator.getContinueShoppingAction = function(catalogID, catalogView) {
    return SNC.CatalogURLGenerator.getContinueShoppingAction(catalogID, catalogView);
    }
    to:
    GlideappCatalogURLGenerator.getContinueShoppingUrl = function(catalogID, catalogView) {
    return SNC.CatalogURLGenerator.getContinueShoppingUrl(catalogID,'catalog_default');
    }
    GlideappCatalogURLGenerator.getContinueShoppingAction = function(catalogID, catalogView) {
    return SNC.CatalogURLGenerator.getContinueShoppingAction(catalogID,'catalog_default');
    }

  3. Save the record and retest.


Related Problem: PRB678314

Seen In

Geneva Patch 4
Geneva Patch 5
Geneva Patch 6
Geneva Patch 6 Hot Fix 2
Geneva Patch 7
Helsinki Patch 1
Helsinki Patch 3
Helsinki Patch 4

Fixed In

Helsinki Patch 10
Istanbul

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2018-02-09 15:45:55
Published:2018-02-09