All Virtual Products — No Shipping for Zen Cart 1.5.1 through 1.5.4

Version 1.0.0 by lat9

Current Support Thread at Zen Cart Forums: http://www.zen-cart.com/showthread.php?215721-All-Products-Virtual-No-Shipping-Support-Thread


What it does

You've got a store that sells only virtual products, so none of your products require shipping information. This plugin modifies the display of the checkout process, recognizing that the checkout_shipping page will never be used; the result is that your checkout process is reduced to checkout-payment choice followed by checkout-confirmation. The invoices generated by your store's admin contain no references to shipping addresses. There's no "Packing Slip" link on your admin's Customers->Orders page, since there's nothing to pack!


Fresh Installation

There are core-file overwrites and template overrides in this plugin; you should always backup your cart's database and files prior to making any changes!

  1. Verify that your products and shipping are set up properly in your database:
  2. Rename folders in the plugin's distribution to match your secret admin folder and your current template:
    1. /includes/languages/english/YOUR_TEMPLATE
    2. /includes/templates/YOUR_TEMPLATE
    3. /YOUR_ADMIN
  3. If you've made changes to any of the core-files or template files, merge this plugin's changes with your previous changes.
  4. Copy the plugin's (possibly merged) files to your cart's file system:
    1. /email/email_template_checkout.html
    2. /includes/classes/class.phpbb.php
    3. /includes/languages/english/YOUR_TEMPLATE/account.php
    4. /includes/languages/english/YOUR_TEMPLATE/checkout_confirmation.php
    5. /includes/languages/english/YOUR_TEMPLATE/checkout_payment.php
    6. /includes/languages/english/YOUR_TEMPLATE/create_account_success.php
    7. /includes/languages/english/YOUR_TEMPLATE/login.php
    8. /includes/modules/pages/checkout_confirmation/header_php_all_virtual_products.php
    9. /includes/modules/pages/checkout_payment/header_php_all_virtual_products.php
    10. /includes/templates/YOUR_TEMPLATE/templates/tpl_account_history_info_default.php
    11. /includes/templates/YOUR_TEMPLATE/templates/tpl_modules_order_totals.php
    12. /YOUR_ADMIN/invoice.php
    13. /YOUR_ADMIN/orders.php
    14. /YOUR_ADMIN/includes/auto_loaders/config.zc154_compatibility.php1
    15. /YOUR_ADMIN/includes/init_includes/init_zc154_compatibility.php1
    16. /YOUR_ADMIN/includes/languages/english/invoice.php
    1Note: These files are not required if you're installing this plugin on a Zen Cart v1.5.4 or later.

Converting from "Minimum Customer Account Information"

If you choose to convert from the Minimum Customer Account Information plugin, you'll need to first remove any core- or template-file changes introduced by that plugin. The core-files in the list below should either be restored to your Zen Cart version's default or, if you've made additional changes to the file, strip the MCAI changes out. Any template override files that have no changes other than those introduced by MCAI should be removed; otherwise, you'll need to strip the MCAI changes out. All the changes introduced by MCAI are marked with either minacct or minaddr.

  1. /includes/classes/class.phpbb.php
  2. /includes/functions/functions_customers.php
  3. /includes/languages/english/extra_definitions/YOUR_TEMPLATE/minacct.php
  4. /includes/languages/english/YOUR_TEMPLATE/account.php
  5. /includes/languages/english/YOUR_TEMPLATE/checkout_confirmation.php
  6. /includes/languages/english/YOUR_TEMPLATE/checkout_payment.php
  7. /includes/languages/english/YOUR_TEMPLATE/create_account_success.php
  8. /includes/languages/english/YOUR_TEMPLATE/login.php
  9. /includes/modules/pages/account_edit/header_php.php
  10. /includes/modules/pages/account_history_info/header_php_minacct.php
  11. /includes/modules/pages/checkout_confirmation/header_php_minacct.php
  12. /includes/modules/pages/checkout_payment/header_php_minacct.php
  13. /includes/modules/pages/login/on_load_main.js
  14. /includes/modules/YOUR_TEMPLATE/contact_info.php
  15. /includes/modules/YOUR_TEMPLATE/create_account.php
  16. /includes/templates/YOUR_TEMPLATE/css/stylesheet_contact_info.css
  17. /includes/templates/YOUR_TEMPLATE/images/icons/ci_accept.png
  18. /includes/templates/YOUR_TEMPLATE/images/icons/ci_delete.png
  19. /includes/templates/YOUR_TEMPLATE/templates/tpl_account_default.php
  20. /includes/templates/YOUR_TEMPLATE/templates/tpl_account_edit_default.php
  21. /includes/templates/YOUR_TEMPLATE/templates/tpl_account_history_info_default.php
  22. /includes/templates/YOUR_TEMPLATE/templates/tpl_checkout_confirmation_default.php
  23. /includes/templates/YOUR_TEMPLATE/templates/tpl_checkout_payment_default.php
  24. /includes/templates/YOUR_TEMPLATE/templates/tpl_create_account_success_default.php
  25. /includes/templates/YOUR_TEMPLATE/templates/tpl_modules_contact_info.php
  26. /includes/templates/YOUR_TEMPLATE/templates/tpl_modules_create_account.php
  27. /includes/templates/YOUR_TEMPLATE/templates/tpl_modules_order_totals.php
  28. /YOUR_ADMIN/customers.php
  29. /YOUR_ADMIN/invoice.php
  30. /YOUR_ADMIN/orders.php
  31. /YOUR_ADMIN/includes/auto_loaders/config.minacct_init.php
  32. /YOUR_ADMIN/includes/init_includes/init_minacct.php
  33. /YOUR_ADMIN/includes/languages/english/invoice.php

Once you've removed the MCAI changes, perform the installation steps identified for a Fresh Installation and then optionally copy the files from the /OPTIONAL_MINACCT_UPGRADE in the All Virtual Products — No Shipping plugin's distribution to your store's file system:

  1. /includes/auto_loaders/config.address_book_check_minacct.php
  2. /includes/classes/observers/class.address_book_check_minacct.php
  3. /includes/languages/english/extra_definitions/avpns_minacct_conversion_extra_definitions.php

Those additional files will interrogate (upon successful login and/or start of the checkout process) the customer's default address to make sure that it "adheres" to your store's current Configuration->Customer Info and Configuration->Minimum Values settings. If not, the customer will be directed to the "Address Book Edit" page with a message requesting that they supply (or correct) the address-related information:

We're sorry, but we've changed our account-information requirements and we need some more information about this address. Please supply the required information.

The processing provided by these optional files will require that the customer correct their address before any future checkout process can begin.


Un-install

Replace the admin and catalog core files that were previously overwritten and then delete the new catalog files that were previously copied. The lines and/or sections that were modified (i.e. added, changed or deleted) are marked by comments using the tag avpns, so you can use your admin's Developers Tool Kit to search for those files.

Note: If your store uses the Zen Cart/phpBB linkage, you should review and incorporate the changes identified by this thread if you are un-installing All Virtual Products — No Shipping.


Version History: