File: web_store_html_lib.pl Subroutines: html_search_page_footer, modify_form_footer, delete_form_footer, cart_footer, bad_order_note We use an HTML-based store, and I wanted customers to see the same look on the generated search results page, the view cart page, etc. So I added this line (with the appropriate name) to the subroutines listed above: &display_page("$sc_html_product_directory_path/footer.htm", "**NAME OF FOOTER**", __FILE__, __LINE__); "footer.htm" is just a regular HTML file in our HTML/Products directory. Here's an example of how I twiddled one routine to work it in: sub html_search_page_footer { local($hidden_fields) = &make_hidden_fields; print qq! !; &display_page("$sc_html_product_directory_path/footer.htm", "HTML Search Page Footer", __FILE__, __LINE__); print qq! !; } ------------ File: web_store_html_lib.pl Subroutine: standard_page_header I wanted the headers of generated pages to match, too. "header.htm" is in the directory with the rest of our products pages. sub standard_page_header { local($type_of_page) = @_; local ($hidden_fields) = &make_hidden_fields; print qq! $type_of_page !; &display_page("$sc_html_product_directory_path/header.htm", "Standard Page Header", __FILE__, __LINE__); print qq!
$hidden_fields !; } ------------ File: web_store_html_lib.pl Subroutine: display_cart_table In this routine, the part that output the checkbox field on a delete item table was missing a . I added that as shown below. # Similarly, in the case of a delete item form, we must # include a cell with a checkbox so that the customer can # select items to delet efrom their cart. The NAME value # is set equal to the unique cart id number of the # current item so that when we submit this information, # the items will be associated with the checked # checkboxes. elsif ($reason_to_display_cart =~ /delete/i) { print qq! !; } ------------ File: web_store_html_lib.pl Subroutine: display_cart_table For cosmetic reasons, I changed the justification of price cells to RIGHT and the justification of "all other cells" to LEFT. ------------ File: web_store_html_lib.pl Subroutine: display_cart_table I added a MAXLENGTH option to the Change Quantity field so that it would match Quantity fields on my product pages. If someone wants 10,000 copies of one of our products, they'll need give us some advance notice. :-) if ($reason_to_display_cart =~ /change*quantity/i) { print qq! !; }