X-Cart: shopping cart software

X-Cart forums (https://forum.x-cart.com/index.php)
-   Dev Questions (https://forum.x-cart.com/forumdisplay.php?f=20)
-   -   Printable Packing Slip - 4.4.x (https://forum.x-cart.com/showthread.php?t=60671)

balinor 08-25-2011 08:31 AM

Printable Packing Slip - 4.4.x
 
2 Attachment(s)
Thought it was about time I updated this mod for 4.4 :)

First, open up include/history-order.php. Find this code around line 56:

Code:

if (
    in_array(
        $mode,
        array(
            'invoice',
            'label',
            'history',
        )
    )


Replace with:

Code:

if (
    in_array(
        $mode,
        array(
            'invoice',
            'label',
            'history',
            'packing',
        )
    )


Next, find this code around line 143:

Code:

        } elseif ($mode == 'label') {

            func_display('main/order_labels_print.tpl',$smarty);


replace with:

Code:


} elseif ($mode == 'label') {

            func_display('main/order_labels_print.tpl',$smarty);

        } elseif ($mode == 'packing') {

          func_display('main/order_invoice_packing.tpl',$smarty);


Next, we add a new button to your admin area. Open up skin/common_files/main/history_order.tpl and look for this line of code around line 88:

Code:


<td class="ButtonsRowRight">
  {if $order.status eq 'A' or $order.status eq 'P' or $order.status eq 'C'}
    {assign var=bn_title value=$lng.lbl_print_receipt}
  {else}
    {assign var=bn_title value=$lng.lbl_print_invoice}
  {/if}
  {include file="buttons/button.tpl" button_title=$bn_title target="_blank" href="order.php?orderid=`$order.orderid`&mode=invoice" substyle="link"}
</td>


Add this immediately AFTER it:

Code:

<td class="ButtonsRowRight">
  {include file="buttons/button.tpl" button_title="Print Packing Slip" target="_blank" href="order.php?orderid=`$order.orderid`&mode=packing" substyle="link"}
</td>


Next, create a template called order_invoice_packing.tpl (a simple text file) with the following code in it:

Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{strip}
{capture name=title}
{if $config.SEO.page_title_format eq "long_direct" or $config.SEO.page_title_format eq "short_direct"}
{section name=position loop=$location}
{if not %position.first%}&nbsp;::&nbsp;{/if}
{$location[position].0|strip_tags|escape}
{/section}
{else}
{section name=position loop=$location step=-1}
{if not %position.first%}&nbsp;::&nbsp;{/if}
{$location[position].0|strip_tags|escape}
{/section}
{/if}
{/capture}
{if $config.SEO.page_title_limit lte 0}
{$smarty.capture.title}
{else}
{$smarty.capture.title|replace:"&nbsp;":" "|truncate:$config.SEO.page_title_limit|replace:" ":"&nbsp;"}
{/if}
{/strip}</title>
{include file="meta.tpl"}
<style type="text/css">
<!--
BODY {ldelim}
    FONT-FAMILY: Verdana, Arial, Helvetica, Sans-serif;
    FONT-SIZE: 11px;
    MARGIN: 10px;
    PADDING: 10px;
{rdelim}
-->
</style>
</head>
<body{$reading_direction_tag}>
{if $config.Appearance.print_orders_separated eq "Y"}
{assign var="separator" value="<div style='page-break-after: always;'><!--[if IE 7]><br style='height: 0px; line-height: 0px;' /><![endif]--></div>"}
{else}
{assign var="separator" value="<br /><hr size='1' noshade='noshade' /><br />"}
{/if}
{section name=oi loop=$orders_data}
{include file="mail/html/order_invoice_packing.tpl" order=$orders_data[oi].order customer=$orders_data[oi].customer products=$orders_data[oi].products giftcerts=$orders_data[oi].giftcerts}

{if not %oi.last%}
{$separator}
{/if}

{/section}
</body>
</html>


Upload it to the skin/common_files/main/ folder.

Create a new language variable in your 'languages' area of the admin called txt_thank_you_for_purchase_packing. This will be the 'thank you message' at the bottom of the packing slip so that you can have a different one for packing and the invoice.

Finally, you need to upload the two attached files into the skin/common_files/mail/html folder. They are the packing slip and order data display. Note these are customized by me, so you'll want to tweak to your specs.

Enjoy!

imageizeverything 08-25-2011 11:38 AM

Re: Printable Packing Slip - 4.4.x
 
I followed the instructions Exactly like your stated. But when I click on the "Print Packing Slip" button, I get a Blank page.

Is there something missing?

balinor 08-25-2011 12:11 PM

Re: Printable Packing Slip - 4.4.x
 
Double check that you uploaded the files to the correct place.

imageizeverything 08-25-2011 12:52 PM

Re: Printable Packing Slip - 4.4.x
 
Quote:

Originally Posted by balinor
Double check that you uploaded the files to the correct place.


You are correct. I accidentally uploaded the 2 files: order_data_packing.tpl and order_invoice_packing.tpl in the wrong folders.
I accidentally placed them in: skin/common_files/mail/
I deleted them, then uploaded in: skin/common_files/mail/html

It's now working, Thanks a Million!

* Now I need to modify the Packing Slip to add
1) My Logo
2) Each Product's SKU # (like on the Invoice) Very Important.
3) I wish there was 2 more columns for each product (to the right of QTY column). One titled "Shipped" (Yes or No), and another titled "Backordered" (displaying the 1 of items backordered for that product, if any, Zero being the default).
4) And a row underneath the table titled "Total Items Shipped", indicating the Total Number of items shipped.

imageizeverything 08-25-2011 01:17 PM

Re: Printable Packing Slip - 4.4.x
 
I noticed in the order_invoice_packing.tpl file, at the end, there is a tag: {$lng.txt_thank_you_for_purchase_packing}
It doesn't display anything on the Packing Slip.

What do I need to do to fix that?

balinor 08-25-2011 01:33 PM

Re: Printable Packing Slip - 4.4.x
 
You can do whatever you want with the packing slip/invoice, that is up to you. The variable at the bottom is a custom one so that the packing slip has a different footer message than the invoice. I've added that to the install instructions.

imageizeverything 08-25-2011 01:46 PM

Re: Printable Packing Slip - 4.4.x
 
Quote:

Originally Posted by balinor
You can do whatever you want with the packing slip/invoice, that is up to you. The variable at the bottom is a custom one so that the packing slip has a different footer message than the invoice. I've added that to the install instructions.


Thanks. I created the variable in the languages section and it's working fine.

On Line 52 in order_invoice_packing.tpl file there is the code: <img src="{$ImagesDir}/invoice-logo.png" /> It's not showing my logo on the Packing Slip.

Do I need to create an additional logo file and upload it?

Thanks in advance for your assistance.

balinor 08-25-2011 02:27 PM

Re: Printable Packing Slip - 4.4.x
 
You can change that image to whatever you want.

imageizeverything 08-25-2011 02:38 PM

Re: Printable Packing Slip - 4.4.x
 
Quote:

Originally Posted by balinor
You can change that image to whatever you want.


What folder should it be uploaded too? I added it to folder: /skin/vivid_dreams_chromo/images/vivid_dreams/

And it's not showing up.

JacksmithxD 08-25-2011 11:32 PM

Re: Printable Packing Slip - 4.4.x
 
Quote:

Originally Posted by imageizeverything

And it's not showing up.



You could try changing the code to be more specific, I think that something like this would work. /skin/vivid_dreams_chromo/images/vivid_dreams/logo.png

You will also have to rename the last part of the code to match your invoice logo as people tend to rename these.

e.g <img src="{$ImagesDir}/invoice-logo.png" />

will be <img src="{$ImagesDir}/YOURLOGOFILESNAME.png" />

Don't take my word for it though, i'm a complete noob.


All times are GMT -8. The time now is 10:20 AM.

Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.