Nav (Express)





The PickMenu is the core of page relationships in WebOnTheFly. It is used to insert links to existing pages or other sites, and serves as the launching point for creating new pages.

Its handlers are also re-used by other, similar modules - like the Calendar. These handlers use the cf_Wizard set of tags to create a step-by-step process for each action.

Module Flow

Display: modules/PickMenu.cfm

  • Query for menu records
  • If Session.Webmaster is defined, build form containing menu records and page information, with the following buttons (see below for their actions):
    • Insert
    • Create
    • Edit
  • Include modules/handlers/FindDisplay.cfm
    • If Attributes.Display is defined (custom display), verify the existence of its value in the CustomDisplays directory
      • If the custom display is found, include it
      • Else include the default display: modules/handlers/PickMenu_View.cfm
    • Else include default display: modules/handlers/PickMenu_View.cfm

Upon clicking 'Insert' button:

  • launch modules/handlers/PickMenu_Insert.cfm in pop-up window
  • call cf_Wizard, with the following nested tags:
    • cf_Wizfield initializes each necessary field in the wizard forms
    • cf_Wizscreen designates the pages that will appear in the wizard:
      • modules/handlers/PickMenu_Wiz_Choose.cfm allows user to choose page in site or enter URL of outside site
      • modules/handlers/PickMenu_Wiz_Label.cfm allows user to enter label and teaser for menu item or default to child page's headline and description, also allows user to choose an icon for the menu item
      • modules/handlers/PickMenu_Wiz_SaveItem.cfm saves changes, reloads page in main window and closes pop-up

Upon clicking 'Create' button:

  • launch modules/handlers/PickMenu_Create.cfm in pop-up window
  • call cf_Wizard, with the following nested tags:
    • cf_Wizfield initializes each necessary field in the wizard forms
    • cf_Wizscreen designates the pages that will appear in the wizard:
      • modules/handlers/PickMenu_Wiz_Label.cfm allows user to enter label and teaser for menu item or default to new child page's headline and description, also allows user to choose an icon for the menu item
      • modules/handlers/PickMenu_Wiz_SaveItem.cfm saves changes, loads blank, new page in main window and closes pop-up

Upon clicking 'Edit' button:

  • launch modules/handlers/PickMenu_Edit.cfm in pop-up window
  • call cf_Wizard, with the following nested tags:
    • cf_Wizfield initializes each necessary field in the wizard forms
    • cf_Wizscreen designates the pages that will appear in the wizard:
      • modules/handlers/PickMenu_Wiz_EditList.cfm allows user edit the label, teaser and icon of an existing menu item; re-sort the menu items; and mark menu items for removal
      • modules/handlers/PickMenu_Wiz_RemoveItems.cfm checks to see whether removed items are linked from other menus
        • If so, offers removal of link only or deletion of underlying page and all other links to it
        • If not, forces deletion of underlying page
      • modules/handlers/PickMenu_Wiz_SaveList.cfm saves changes, makes deletions, reloads page in main window and closes pop-up