Announcement:Materials and articles for ProductCart 5 can be found at our brand new support center.

Create an account to edit articles | See Formatting Syntax for Wiki syntax | We look forward to your contribution!

Managing Content Pages in ProductCart v4

The ability to create, manage, and display non-catalog pages (pages that are not products, categories, etc.) on your ProductCart-powered ecommerce store was significantly improved with ProductCart v4. Among the new features:

  • Establish a review process: create, review, and publish content pages
  • Have multiple store managers collaborate, with different permissions
  • Restrict access only to certain customer categories
  • Create a two-level tree of content pages (e.g. About Us > Our Team; About Us > How We Started; etc.)
  • Create a separate navigation for content pages
  • Specify separate text for the page link and the page title
  • etc…

Manage Content Pages

Adding and editing Content Pages

To add a new Content Page select Pages > Add New Content Page from the Control Panel navigation menu. The page is organized in different tabs.

Name, Title & Content

  • Page Name (Link)
    This is the text used in the link to the Content Page. Max 255 characters. It's shown in both the Control Panel and the storefront when linking to the page.
  • Page Title
    This is the title that store visitors see when viewing the page. Max 255 characters. Optional. Displayed using an H1 HTML tag on the page itself.
  • Content
    The main page content. Use the built-in HTML editor to create the page or copy text or HTML code from another program.


  • Active
    Check this option unless you want the page to remain inactive, and therefore invisible in the storefront. Inactive pages cannot be accessed by your customers. If you are still working on a page (or do not want to show it in the storefront for any other reason), set it to be inactive.
  • Only accessible by…
    You can restrict access to specific customer groups. For example, if you have resellers that you do business with and want a page on your store that provides “Reseller News” you can set up that page so that only resellers can view it. In this scenario, you will first need to create a ”Customer Pricing Category” for your resellers (e.g. “Gold Resellers”), then select that entry from the Only accessible by… drop-down.
  • Review Status and Notes
    Review Status and Review Notes are only shown to Control Panel users with publishing permissions. The Review Status of a page can be:
    • Published: a store manager with publishing permissions has reviewed the page and decided that it's ready to be shown in the storefront.
    • Under Review: a new page has been created and needs to be reviewed by a store manager with publishing permissions.
    • Reviewed: a page has been reviewed by a store manager with publishing permissions, but changes are needed, which could be added in the Review Notes. Review Notes are not shown in the storefront
  • Parent (Optional)
    To simplify browsing Content Pages, you can organize them in a two-level tree. In the storefront, you can link to a page where customers can browse content pages by adding a link to a file called ”viewPages.asp”, which is in the “pc” folder, just like all other storefront files.
  • Thumbnail (Optional)
    The thumbnail is used when browsing Content Pages if the category display settings have been set to use this feature. That is: content pages follow the same display settings set for categories. For example, if you set your categories to be displayed as text links, 3 categories per row and 4 rows per page, that's exactly how top-level content pages will be displayed on the Browse Content Pages page (pc/viewPages.asp).
  • Display Order
    Used when displaying a list of pages (e.g. navigation).
  • Include store header & footer
    Check this option if you would like ProductCart to create a page that includes the store's graphical interface. This is normally what you will want to do. If this is the case, and if you decide to copy HTML code that you have created in another HTML editor (e.g. MS FrontPage, Macromedia Dreamweaver, etc.), make sure to include only code that is in between the <body> and </body> tag.

    For example, you could copy and paste an HTML table that you have created in your favorite HTML editor, but you should not copy an entire HTML page. If you wish to copy an entire HTML page into the Page Description field, then make sure NOT to select the Include store header & footer feature.

    So, to recap:

    • If you are creating your pages elsewhere (e.g. using Adobe® Dreamweaver® or Microsoft® Expression® Web), and copying an entire HTML page into the Page Description field, do not select the Include store header & footer option.
    • If you are using the built-in HTML editor or are copying only a portion of an HTML page created with an external HTML editor, then you must select the Include store header & footer option.
  • Exclude from Content Pages navigation
    New in ProductCart v4 is the ability to generate a navigation menu for your content page. You can then use the navigation anywhere you wish in your store's graphical interface, style it with CSS, or use it as part of whatever navigation script you like to use. This feature allows you to exclude from the navigation pages that you do not wish to show there.

Meta tags

You can enter page-specific TITLE, DESCRIPTION, and KEYWORDS meta tags for Content Pages.

Showing Content Pages in the Storefront

To allow customers to find the content pages that you have created, link to them from other pages on your Web site, and/or from your store’s navigation. With ProductCart v4, you have 2 options.

Dynamically load a list of pages

The default version of header.asp contains some ASP code that dynamically loads content page titles and corresponding links from the store database. This allows you to create a list of links to these pages that is automatically updated every time you add a new page and remove/edit an existing page.

You could place the code below anywhere in your custom version of header.asp or footer.asp (or another ASP file set up to query the ProductCart database) to load such list. This also means that you could load your content pages in another navigation script that you might want to place somewhere on your store interface.

The SQL query is designed to filter out Inactive Content Pages and those set to be Excluded from Navigation and order the active pages by name.

Default Header.asp Code

The following code is slightly different from the one found in the default version of header.asp. The main difference is that here we are not assuming that there is already an unordered list that the list items are added to, and therefore we are adding <ul> and </ul> to the beginning and the end of the code, to respectively open and close the unordered list.

This code automatically links to keyword-rich URLs for your content pages if that feature is active on your store.

'// Select pages compatible with customer type
if session("customerCategory")<>0 then ' The customer belongs to a customer category
	' Load pages accessible by ALL, plus those accessible by the customer pricing category that the customer belongs to
	queryCustType = " AND (pcCont_CustomerType = 'ALL' OR pcCont_CustomerType='CC_" & session("customerCategory") &"')"
	if session("customerType")=0 then ' Retail customer or customer not logged in
		queryCustType = " AND pcCont_CustomerType = 'ALL'" ' Load pages accessible by ALL
		queryCustType = " AND pcCont_CustomerType = 'W'" ' Load pages accessible by Wholesale customers only
	end if
end if

'// Load pages from the database: active, not excluded from navigation, and compatible with customer type						
sdquery="SELECT pcCont_IDPage, pcCont_PageName FROM pcContents WHERE pcCont_InActive=0 AND pcCont_MenuExclude<>1 " & queryCustType & " ORDER BY pcCont_Order ASC, pcCont_PageName ASC;"
set rsSideCatObj=Server.CreateObject("ADODB.RecordSet")					
set rsSideCatObj=conlayout.execute(sdquery)
do while not rsSideCatObj.eof
	'// Call SEO Routine
	<li><a href="<%=pcStrCntPageLink%>"><%=pcvContentPageName%></a></li>
set rsSideCatObj=nothing

Technical Note: The name of the recordset can certainly be different in your code (here it's “rsSideCatObj”). Just make sure that it is properly created and emptied using the two “set” statements as shown above.

The code above creates an unordered list of content pages. You can use CSS to change the display of an unordered list to create all sorts of nice navigation menus (run a Google search on this topic).

When using CSS, you will typically add a class to your unordered list, so that you can style that specific unordered lists (versus other lists that might exist on the same page). For example, assuming the class were called “contentPageNavigation”, it would look as follows:

<ul class="contentPageNavigation">
 ... code that generates the list of content pages ...

Using Content Page Navigation

New in ProductCart v4 is the ability to create a separate navigation for your content pages. For example, you could have content page navigation at the top, organized horizontally and with drop-down menus, and category/product navigation in your design's left column.

Which pages are included

The system will generate an unordered list with all content pages that are:

  • Active
  • Not excluded from the navigation

Both of these settings were discussed earlier in this article.

Type of Navigation

ProductCart can help you create a horizontal or vertical navigation menu by leveraging the Adobe® Spry framework that is included in the system. By leveraging Spry, you can easily add a navigation system with drop-down menus or fly-out menus without doing any programming of any kind.

Prepare for SPRY menu bar

ProductCart will “prepare” an unordered list of navigation links that are ready to be used with Spry. They will then be displayed in your storefront based on the settings that you have configured within the Spry files themselves (e.g. that's where colors, font types, etc. are set). More on this below. First, you can choose between two types of menus:

  • Spry Horizontal Menu Bar
  • Spry Vertical Menu Bar
Advanced settings

Of course, you can style and control the navigation using any other navigation script (or no script at all). The advanced settings can help you do just that as they allow you to assign a CSS class to the most relevant elements in the unordered list. These settings are ignored if using the SPRY option above.

  • <UL> Tag ID
    This is often referenced in the JavaScript used to activate the menu.
  • <UL> CSS Class
  • Top-level <LI> CSS Class
  • Top-level <LI> with Sub-Items CSS Class
Generating the menu

When you generate the menu, ProductCart will create the unordered list and save it to a text file located in the pc folder. The file is called The raw HTML code is also shown to you in a text area on the page so you can copy and paste it directly in your Web store design, if you wish to.

If you opted to use a Spry menu, you will see a link that allows you to preview the menu. Here are two examples.

First, an example of using the Spry Horizontal Menu:

Horizontal Spry Menu for content pages

And here is an example of generating a Vertical Menu, for the same pages:

Vertical Spry Menu for content pages

Tweak the Content Page settings (e.g. page names, order in which they are displayed, etc.) until the preview looks good to you. Once you are ready to use it in the storefront, you will need to change the code of your header.asp or footer.asp file a bit. See this page for detailed instructions.

Frequently Asked Questions

Showing & hiding page titles in the navigation

I upgraded from v3 and my store's interface is set to load and display all content page titles automatically in the navigation. Can I change that? Can I hide some of them?

Yes, there is. In the Control Panel, set the Content Page to be excluded from content page navigation. That's a new feature in ProductCart v4 that is accessed from the “Settings” tab of the page “Edit Content Page”. Then, in the storefront, you have two choices:

(a) Remove the code that automatically loads Content Pages in your header.asp or footer.asp and instead use the new “Pages > Generate Page Navigation” feature to create a navigation menu that you can then insert into your header.asp or footer.asp.


(b) Change the SQL query in that section of the code that automatically loads Content Pages in your header.asp or footer.asp . The new SQL query will be:

sdquery="SELECT pcCont_IDPage, pcCont_PageName FROM pcContents WHERE pcCont_InActive=0 AND pcCont_MenuExclude<>1 ORDER BY pcCont_PageName ASC;"

QR Code
QR Code Managing Content Pages in ProductCart v4 (generated for current page)