Making your Shipping Policy more visible

Relevance: Any version of Zen Cart™
Cost: Free, but donation appreciated

First, the basics. Is your shipping policy written down? For instance, are the preconditions for free shipping clearly stated on your site? If not, let's fix this right now.

If you haven't done so yet, create your template. I'll assume it's called "custom". Copy the file
includes/languages/english/html_includes/define_shippinginfo.php
to
includes/languages/english/html_includes/custom/define_shippinginfo.php

Go into your admin page, and select Tools ->Define Pages Editor. Select define_shippinginfo.php. Now if you've enabled the Information sidebox, you will see what you've typed in under the link "Shipping and Returns." (To enable this sidebox, go into Tools->Layout Boxes Controller and turn sideboxes/information.php on.)

So now that we've captured this information, how can we make it available in a non-intrusive way on the first checkout page when a shipping method is being selected? Copy the file
includes/templates/template_default/templates/tpl_checkout_shipping_default.php
to
includes/templates/custom/templates/tpl_checkout_shipping_default.php
Look for the header TABLE_HEADING_SHIPPING_METHOD. After this tag is closed, add a link to the shipping page you just created. Now the trivial way to do this would just be to add a link to the shipping page as a complete shopping cart page, i.e.
<?php echo '<a href="' . zen_href_link(FILENAME_SHIPPING) . '">' . BOX_INFORMATION_SHIPPING . '</a>'; ?><br /><br />
and there's nothing wrong with this approach, but my preference would be to open just the shipping text in a separate, small popup window. You can do this as follows:

<?php 
$shipping_policy_page = zen_get_file_directory(DIR_WS_LANGUAGES . $_SESSION['language'] . '/html_includes/', FILENAME_DEFINE_SHIPPINGINFO, 'false');
$policy = @file($shipping_policy_page); 
?>
<script language="javascript">
function showship() {
 my_window = window.open ("", "mywindow1","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=350,height=400");
 <?php
   echo 'my_window.document.write("<html><head><title>'. BOX_INFORMATION_SHIPPING . '</title></head><body>");';
   foreach ($policy as $line) {
      $line = trim($line);
      echo 'my_window.document.write("' . $line . '");' . "\n";
   }
   echo 'my_window.document.write("</body></html>");';
   echo 'my_window.document.close();';
   echo 'return;';
 ?>
}
</script>
<?php
echo '<a href="javascript:showship()">' . BOX_INFORMATION_SHIPPING . '</a>';
?>
<br /><br />
This gives you a great looking little window containing your shipping policy.


This tip was developed in June 2007, and distributed in my newsletter in Issue #1.


Certificates of appreciation most welcome!
If the information you learned reading this site is helping your store make more money, please consider making a donation. Thank you!


Want more Zen Cart?     Tips and Tricks     Contributions     Extensions     Custom Software     Newsletter

Terms | Privacy | SiteMap | Newsletter | Contact Me | Contents © 2003-2010 That Software Guy, Inc.
Zen Cart Project Home Page | Zen Cart Forum | Zen Cart™ is © Zen Ventures, LLC.