The following code adds a Totals Row to \admin\super_packingslip.php (Lines 184-277), which gives an easy scan of Total Qty vs Total Products.
In my arrangement, I also swapped the model and product columns, and made other minor adjustments.
I have not tested this code with split orders. If anyone can improve, please post.
Code:
// SUPER_CODE_START
if ($display_images) { ?>
<td class="dataTableHeadingContent" width="10%"><?php echo TABLE_HEADING_IMAGE; ?></td>
<td class="dataTableHeadingContent" width="10%"><?php echo TABLE_HEADING_QTY; ?></td>
<?php } else { ?>
<td class="dataTableHeadingContent" width="10%"><?php echo TABLE_HEADING_QTY; ?></td>
<?php } ?>
<td class="dataTableHeadingContent" width="10%"><?php echo TABLE_HEADING_PRODUCTS_MODEL; ?></td>
<td class="dataTableHeadingContent" xwidth="20%"><?php echo TABLE_HEADING_PRODUCTS; ?></td>
</tr>
<?php
for ($i = 0, $n = sizeof($order->products); $i < $n; $i++) {
echo ' <tr class="dataTableRow">' . "\n";
if ($display_images && isset($order->products[$i]['id']) ) {
$products = $db->Execute("SELECT products_image
FROM " . TABLE_PRODUCTS . "
WHERE products_id ='" . $order->products[$i]['id'] . "'");
echo ' <td class="dataTableContent" valign="top">' . zen_image(DIR_WS_CATALOG . DIR_WS_IMAGES . $products->fields['products_image'] , $order->products[$i]['name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a></td>';
}
echo ' <td class="dataTableContent" valign="top">';
echo zen_image(DIR_WS_ICONS . 'tick.gif', ICON_TICK);
echo $order->products[$i]['qty'] . ' </td>' . "\n" .
' <td class="dataTableContent" valign="top">' . $order->products[$i]['model'] . '</td>' . "\n" .
' <td class="dataTableContent" valign="top">' . $order->products[$i]['name'];
if (isset($order->products[$i]['attributes']) && (sizeof($order->products[$i]['attributes']) > 0)) {
for ($j=0, $k=sizeof($order->products[$i]['attributes']); $j<$k; $j++) {
echo '<br><nobr><small> <i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . nl2br(zen_output_string_protected($order->products[$i]['attributes'][$j]['value']));
echo '</i></small></nobr>';
}
}
echo ' </td>' . "\n" .
' </tr>' . "\n";
}
?>
<?php
$parent_child= $db->Execute("select split_from_order, is_parent
from " . TABLE_ORDERS . "
where orders_id = '" . $oID . "'");
if($parent_child->fields['split_from_order']):
$so = new super_order($parent_child->fields['split_from_order']);
$order = new order($parent_child->fields['split_from_order']);
?>
<?php
for ($i = 0, $n = sizeof($order->products); $i < $n; $i++) {
echo ' <tr class="dataTableRow">' . "\n";
if ($display_images && isset($order->products[$i]['id']) ) {
$products = $db->Execute("SELECT products_image
FROM " . TABLE_PRODUCTS . "
WHERE products_id ='" . $order->products[$i]['id'] . "'");
echo ' <td class="dataTableContent" valign="middle">' . zen_image(DIR_WS_CATALOG . DIR_WS_IMAGES . $products->fields['products_image'] , $order->products[$i]['name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a> </td>';
}
echo ' <td class="dataTableContent" valign="middle">';
echo zen_image(DIR_WS_ICONS . 'cross.gif', ICON_CROSS);
echo $order->products[$i]['qty'] . ' </td>' . "\n" .
' <td class="dataTableContent" valign="middle">' . $order->products[$i]['name'];
if (isset($order->products[$i]['attributes']) && (sizeof($order->products[$i]['attributes']) > 0)) {
for ($j=0, $k=sizeof($order->products[$i]['attributes']); $j<$k; $j++) {
echo '<br><nobr><small> <i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]['attributes'][$j]['value'];
echo '</i></small></nobr>';
}
}
echo ' </td>' . "\n" .
' <td class="dataTableContent" valign="middle">' . $order->products[$i]['model'] . '</td>' . "\n" .
' </tr>' . "\n";
}
?>
<?php
endif;
?>
<!-- bof totals row -->
<?php
$qtyDisplay = 0;
for ($i = 0, $n = sizeof($order->products); $i < $n; $i++) {
$qtyDisplay += ($order->products[$i]['qty']);
}
?>
<tr>
<td class="dataTableContent" width="10%"><strong>Totals</strong></td>
<td class="dataTableContent" width="10%"><strong><?php echo $qtyDisplay; ?></strong></td>
<td class="dataTableContent" width="10%"><strong> </strong></td>
<td class="dataTableContent" xwidth="10%"><strong><?php echo sizeof($order->products); ?></strong></td>
</tr>
<!-- eof totals row -->
</table></td>
</tr>
<?php if ($customer_notes) { ?>
Cheers
Bookmarks