4.8. Components

Interchange components are portions of HTML and ITL that are included in pages within a catalog depending on options set in the Administration Tool. The default component set includes the following:

    affiliate_receptor
    best_horizontal
    best_vertical
    cart
    cart_display
    cart_tiny
    category_vertical
    cross_horizontal
    cross_vertical
    modular_buy
    modular_update
    none
    promo
    promo_horizontal
    promo_vertical
    random
    random_horizontal
    random_vertical
    saved_carts_list_small
    search_box_small
    upsell
    upsell_horizontal
    upsell_vertical

/home/ic/catalogs/ft/templates/components:

4.8.1. affiliate_receptor

Not used in Foundation demo

4.8.2. best_horizontal

The best_horizontal component is used in the following templates:

    templates/foundation/cart
    templates/foundation/leftonly
    templates/foundation/leftright

Not used in Foundation demo pages

4.8.3. best_vertical

The best_vertical component is used in the following template:

    templates/foundation/leftright

Not used in Foundation demo pages

4.8.4. cart

The cart component is used in the following page:

    pages/ord/basket.html

4.8.5. cart_display

The cart_display component creates a small shopping cart that is displayed on the search results page (pages/results.html). It is displayed after an item in a list of results from a search is added to the shopping cart. cart_display is called in results.html by the following include statement:

    [include file="templates/components/cart_display"]

The cart_display component is used in the following pages:

    pages/results.html

4.8.5.1. Component Walkthrough -- cart_display

The remainder of this section is best read in conjunction with the file CATROOT/templates/components/cart_display in a text editor.

Lines 1-6: Component Specification

     1  [comment]
     2  ui_component: cart_display
     3  ui_component_group: info
     4  ui_component_label: Smaller cart for display in content area
     5
     6  [/comment]
     7

These lines control what is shown in the Edit page screen of the admin interface.

     8  <!-- BEGIN COMPONENT [control component cart_display] -->

Line 8 is an HTML comment noting the start of the code for the component. (Note that this can serve as a useful debugging tool to help you locate the component in the resulting HTML generated by Interchange when you view the source of a page loaded in the browser.)

     9  [if items]

Line 9 checks to see if there are items in the shopping basket. If there are, the remaining code up to the closing [/if] tag on line 64 is executed. If not, Interchanges continues executing the remaining code in results.html (the file that calls the cart_display component).

    10  <center>
    11    <table width="95%" border="0" cellspacing="0" cellpadding="0">
    12      <TR class="contentbar2" VALIGN=TOP>
    13        <td align=center class="contentbar2">Action</td>
    14        <td class="contentbar2">
    15          SKU
    16        </td>
    17        <td class="contentbar2">
    18          Description
    19        </td>
    20        <td class="contentbar2">
    21          Quantity
    22        </td>
    23        <td class="contentbar2">
    24          Price
    25        </td>
    26        <td class="contentbar2">
    27          Extension
    28        </td>
    29      </TR>

Line 10 centers the table started in line 11. Lines 12-29 create a header row in the shopping cart consisting of the header titles Action, SKU, Description, Quantity, Price, and Extension.

    30      <TBODY>
    31  [item-list]
    32

Line 30 defines the remainder of the table as a section while the [item-list] tag on line 31 tells Interchange to execute the code up to the closing tag ([/item-list] on line 59 for each item the customer has ordered so far.

    33      <tr class="[item-alternate 2]
                                                        maincontent
                                                        [else]contentbar1[/else]
                                                [/item-alternate]">
    34        <td align=center valign=top>
    35          [page ord/basket]edit</A>
    36        </TD>
    37        <td valign=top>[item-code]</TD>
    38        <td valign=top>[page [item-code]][item-description]</A>
    39        </TD>
    40

Line 33 begins the next row in the table. The [item-alternate] tag provided as the value of the class attribute tells Interchange to alternate between displaying the rows according to the "maincontent" and "contentbar1" styles (gray and white, respectively).

Lines 34-36 create a link to the shopping cart (basket.html) where the customer can remove or change the quantity of the item ordered.

Line 37 displays the SKU of the item. Lines 38 and 39 provide a link to the product display page (flypage.html) for the item. The [item-description] tag providing the content of the [page] tag enables the item's name to be displayed as the link to the product display page.

    41  [if-item-modifier gift_cert]
    42        <TD ALIGN=CENTER><small>Amount of gift:</small></TD>
    43        <TD ALIGN=CENTER>[item-quantity]</TD>
    44        <TD ALIGN=right>
    45          [item-subtotal]
    46        </TD>
    47  [else]
    48        <TD ALIGN=CENTER>[item-quantity]</TD>
    49        <TD ALIGN=right>
    50          [item-price]
    51        </TD>
    52        <TD ALIGN=right>
    53          [item-subtotal]
    54        </TD>
    55  [/else]
    56  [/if-item-modifier]
    57      </TR>
    58

Line 41 checks whether the item is a gift certificate. If it is it displays "Amount of gift:" and the [item-quantity] (number of gift certificates, in this case) under the headings "Quantity" and "Price", respectively. Otherwise, lines 48 through 50 display the quantity and price of the item ordered. Lines 45 or 53 (depending on whether the item is a gift certificate) display the item subtotal (quantity multiplied by price) for the item under the heading "Extension".

    59  [/item-list]
    60  </TBODY>
    61  </table>
    62  </FORM>
    63  </center>
    64  [/if]
    65
    66  <!-- END COMPONENT [control component cart_display] -->

Lines 59 through 64 close out the tags for the component, and line 66 indicates the end of the component code.

4.8.6. cart_tiny

The cart_tiny component is used in the following pages:

    pages/account.html
    pages/browse.html
    pages/canceled.html
    pages/customerservice.html
    pages/flypage.html
    pages/help.html
    pages/index.html
    pages/logout.html
    pages/modular_modify.html
    pages/new_account.html
    pages/privacypolicy.html
    pages/process_return.html
    pages/quantity.html
    pages/query/check_orders.html
    pages/query/order_detail.html
    pages/query/order_return.html
    pages/saved_carts.html
    pages/ship_addresses.html

4.8.7. category_horizontal

Not used in Foundation demo pages or templates.

4.8.8. category_vertical

The category_vertical component provides a listing of all products in the catalog, organized by prod_group (e.g., Hand Tools, Ladders). category_vertical is usually displayed in the LEFTSIDE section of the page, under the search_box_small component.

The category_vertical component is used in the following pages:

    pages/aboutus.html
    pages/account.html
    pages/affiliate/index.html
    pages/affiliate/login.html
    pages/browse.html
    pages/canceled.html
    pages/contact.html
    pages/customerservice.html
    pages/flypage.html
    pages/help.html
    pages/index.html
    pages/login.html
    pages/logout.html
    pages/modular_modify.html
    pages/new_account.html
    pages/ord/basket.html
    pages/privacypolicy.html
    pages/process_return.html
    pages/quantity.html
    pages/query/check_orders.html
    pages/query/order_detail.html
    pages/query/order_return.html
    pages/results.html
    pages/results_big.html
    pages/returns.html
    pages/saved_carts.html
    pages/ship_addresses.html
    pages/stock-alert-added.html
    pages/stock-alert.html
    pages/swap_results.html

4.8.8.1. Component Walkthrough -- category_vertical

The remainder of this section is best read while viewing the file CATROOT/templates/components/cart_display in a text editor.

Lines 1-6: Component Specification

     1  [comment]
     2  ui_component: category_vertical
     3  ui_component_group: Navigation
     4  ui_component_label: Vertical category list
     5
     6  page_class:
     7          label: Page class
     8          widget: select
     9          lookup: which_page
    10          db: area
    11          help: Defines which sets of items should be displayed
    12          advanced: 1
    13
    14  set_selector:
    15          label: Page area selector
    16          widget: select
    17          db: area
    18          lookup: sel
    19          help: Defines which sets of items should be displayed
    20          advanced: 1
    21  [/comment]
    22

These lines control what is shown in the Edit page screen of the Administration Tool.

    23  <tr><td align="center" class="categorybar">
    24    <br>
    25    <table>
    26
    27  <!-- BEGIN COMPONENT [control component category_vertical] -->

Lines 23-25 set up the row and table within that row that will hold the vertical category list. Line 27 identifies the start of the code for the list.

    28  [loop
    29          prefix=box
    30          search="
    31                  fi=area
    32                  st=db
    33                  tf=sort
    34                  ac=0
    35                  ac=0
    36                  co=yes
    37
    38                  sf=sel
    39                  op=eq
    40                  se=[control set_selector left]
    41
    42                  sf=which_page
    43                  op=rm
    44                  se=[control page_class all|@@MV_PAGE@@]
    45  "]
    46

Lines 28-45 build a list of product categories obtained through a search of the area table.

    47    <tr>
    48      <td valign="top" class="categorybar">
    49        <b>[box-exec bar_link]area[/box-exec]</b>
    50      </td>
    51    </tr>
    52    <tr>
    53      <td valign="top" class="categorybar">
    54
    55  [set found_cat][/set]
    56  [loop prefix=cat
    57          search="
    58                  fi=cat
    59                  st=db
    60                  tf=sort
    61                  tf=name
    62                  rf=code,name
    63                  sf=sel
    64                  se=[box-code]
    65          "
    66          ]
    67        &nbsp;&nbsp;[cat-exec bar_link]cat[/cat-exec]<BR>
    68  [/loop]
    69
    70      </td>
    71    </tr>
    72  [/loop]
    73
    74    </table>
    75    <br>
    76  </td></tr>
    77
    78  <!-- END COMPONENT [control component category_vertical] -->

Lines 47-78 generate a list of links based on the products and product categories identified in the search.

4.8.9. cross_horizontal

The cross_horizontal component is used in the following pages:

    pages/browse.html
    pages/index.html
    pages/results.html
    pages/results_big.html

The cross_horizontal component is used in the following templates:

    templates/foundation/cart
    templates/foundation/leftonly
    templates/foundation/leftright

4.8.10. cross_vertical

Not used in Foundation demo pages.

The cross_horizontal component is used in the following templates:

    templates/foundation/leftright

4.8.11. modular_buy

The modular_buy component is used in the following pages:

    pages/flypage.html

The modular_buy component is used in the following templates:

    templates/components/modular_update

4.8.12. modular_update

The modular_update component is used in the following pages:

    pages/modular_modify.html

4.8.13. promo

The promo component is used in the following pages:

    pages/contact.html
    pages/results_big.html

4.8.14. promo_horizontal

The promo_horizontal component is used in the following pages:

    pages/aboutus.html
    pages/canceled.html

The promo_horizontal component is used in the following templates:

    templates/foundation/cart
    templates/foundation/leftonly
    templates/foundation/leftright

4.8.15. promo_vertical

Not used in Foundation demo pages.

The promo_horizontal component is used in the following templates:

    templates/foundation/leftright

4.8.16. random

The random component is used in the following pages:

    pages/browse.html
    pages/index.html
    pages/ord/basket.html
    pages/privacypolicy.html
    pages/process_return.html
    pages/results.html
    pages/swap_results.html

4.8.17. random_horizontal

Not used in Foundation demo pages.

The random_horizontal component is used in the following templates:

    templates/foundation/cart
    templates/foundation/leftonly
    templates/foundation/leftright

4.8.18. random_vertical

Not used in Foundation demo pages.

The random_vertical component is used in the following templates:

    templates/foundation/leftright

4.8.19. saved_carts_list_small

The saved_carts_list_small component is used in the following pages:

    pages/ord/basket.html

4.8.20. search_box_small

The search_box_small component is used in the following pages:

    pages/aboutus.html
    pages/account.html
    pages/affiliate/index.html
    pages/affiliate/login.html
    pages/browse.html
    pages/canceled.html
    pages/contact.html
    pages/customerservice.html
    pages/flypage.html
    pages/help.html
    pages/index.html
    pages/login.html
    pages/logout.html
    pages/modular_modify.html
    pages/new_account.html
    pages/ord/basket.html
    pages/privacypolicy.html
    pages/process_return.html
    pages/quantity.html
    pages/query/check_orders.html
    pages/query/order_detail.html
    pages/query/order_return.html
    pages/results.html
    pages/results_big.html
    pages/returns.html
    pages/saved_carts.html
    pages/ship_addresses.html
    pages/stock-alert-added.html
    pages/stock-alert.html
    pages/swap_results.html

The search_box_small component is used in the following templates:

    templates/regions/LEFTONLY_TOP
    templates/regions/LEFTRIGHT_TOP

4.8.21. upsell

Not used in Foundation demo pages.

4.8.22. upsell_horizontal

The upsell_horizontal component is used in the following pages:

    pages/flypage.html

The upsell_horizontal component is used in the following templates:

    templates/foundation/cart
    templates/foundation/leftonly
    templates/foundation/leftright

4.8.23. upsell_vertical

Not used in Foundation demo pages.

The upsell_vertical component is used in the following templates:

    templates/foundation/leftright