Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

HOW-TO: add radio buttons at checkout_shipping


TerryK

Recommended Posts

I've managed to put radio buttons into my checkout_shipping.php page to get customer input on how they want to handle backorders, and then carry that information through the order process and into the Email. (Haven't worked on displaying it on the invoice or other /admin functions yet, but will eventually.)

 

If you want to use this for some other function, you should be able to modify the instructions below to suit your needs. Here goes:

 

1. In database table ORDERS_STATUS_HISTORY, add a new field via PHPmyAdmin:

 

FIELD: backorders

TYPE: text

ATTRIBUTES: (leave blank)

NULL: No

DEFAULT: (leave blank)

EXTRA: (leave blank)

 

 

2. In catalog/checkout_shipping.php, look for:

 

    if (!tep_session_is_registered('comments')) tep_session_register('comments');
   if (tep_not_null($HTTP_POST_VARS['comments'])) {
     $comments = tep_db_prepare_input($HTTP_POST_VARS['comments']);
   }

 

Right underneath that, add:

 

    if (!tep_session_is_registered('backorders')) tep_session_register('backorders');
   if (tep_not_null($HTTP_POST_VARS['backorders'])) {
     $backorders = tep_db_prepare_input($HTTP_POST_VARS['backorders']);
   }

 

3. Add a new table to display backorder options within the HTML section on checkout_shipping.php. I placed mine above the 'TABLE_HEADING_COMMENTS' area.

 

NOTE: This works on my page, but you may have to adapt the code to fit your layout. (If it falls apart, look for coding errors in the table structure.) Here's my code:

 

      <tr>
       <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
         <tr>
           <td class="productListing-heading"><b><?php echo HEADING_BACKORDERS; ?></b></td>
         </tr>
     <tr>
       <td ALIGN="center"><?php echo tep_draw_separator('pixel_trans.gif', '100%', '15'); ?></td>
     </tr>
       </table></td>
     </tr>
             <tr>
               <td COLSPAN="3" class="main" valign="top"><?php echo TEXT_BACKORDERS; ?></tr>
     <tr>
       <td ALIGN="center"><?php echo tep_draw_separator('pixel_trans.gif', '100%', '15'); ?></td>
     </tr>
    <tr>
              <td class="main"><table border="0" width="100%" cellspacing="1" cellpadding="2">
  	 <tr>
      <td width="10%" class="main" valign="top"><?php echo tep_draw_radio_field('backorders', 'Hold order until all items are in stock.', CHECKED) . '</td><td width="90%" class="main" valign="top">' . HOLD . '</td></tr><tr><td width="10%" class="main" valign="top">' . tep_draw_radio_field('backorders', 'Ship in-stock items now and backordered items as available. Additional shipping charges will apply.') . '</td><td width="90%" class="main" valign="top">' . SHIP . '</td></tr><tr><td width="10%" class="main" valign="top">' . tep_draw_radio_field('backorders', 'Ship in-stock items and cancel any backordered items.') . '</td><td width="90%" class="main" valign="top">' . CANCEL . '</td></tr></table>'; ?></td>
            </tr>
     <tr>
       <td ALIGN="center"><?php echo tep_draw_separator('pixel_trans.gif', '100%', '25'); ?></td>
     </tr>

 

You can move the CHECKED text above to whichever option you want to have selected by default.

 

The part of this text marked in red:

 

"('backorders', 'Hold order until all items are in stock.', CHECKED) . '

 

is the text that will be stored in the 'backorders' field in the ORDERS_STATUS_HISTORY table, and carried forward onto the checkout_confirmation.php page and into the Email. Change it to read what you want.

 

In /catalog/includes/languages/english/checkout_shipping.php, add some defines (I put mine on the line right above the final '?>' at the bottom of the page):

 

define('HEADING_BACKORDERS', 'BACKORDERS');
define('TEXT_BACKORDERS', 'If any of the products you have ordered are listed as being on backorder, or become unavailable prior to your order being processed, please tell us how you would prefer to have your order handled:');

 

In /catalog/includes/languages/english.php, define the text for your radio buttons. Look for:

 

// text for gender
define('MALE', 'Male');
define('FEMALE', 'Female');
define('MALE_ADDRESS', 'Mr.');
define('FEMALE_ADDRESS', 'Ms.');

 

Right underneath it, add:

 

// text for backorders
define('HOLD', 'Hold order until all items are in stock.');
define('SHIP', 'Ship in-stock items now and backordered items (if any) as available. <b>(Additional shipping charges, based on package weight as outlined in our Shipping section, will apply to each shipment.)</b>');
define('CANCEL', 'Ship in-stock items and cancel any backordered item(s).');

 

In /catalog/includes/checkout_process.php, look for:

 

  $customer_notification = (SEND_EMAILS == 'true') ? '1' : '0';
 $sql_data_array = array('orders_id' => $insert_id,
                         'orders_status_id' => $order->info['order_status'],
                         'date_added' => 'now()',
                         'customer_notified' => $customer_notification,
                         'comments' => $order->info['comments']);
 tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array);

 

and replace with:

 

  $customer_notification = (SEND_EMAILS == 'true') ? '1' : '0';
 $sql_data_array = array('orders_id' => $insert_id,
                         'orders_status_id' => $order->info['order_status'],
                         'date_added' => 'now()',
                         'customer_notified' => $customer_notification,
                         'comments' => $order->info['comments'],
                         'backorders' => $order->info['backorders']);
 tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array);

 

Then look for:

 

// lets start with the email confirmation
 $email_order = STORE_NAME . "\n" .
                EMAIL_SEPARATOR . "\n" .
                EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . "\n" .
                EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $insert_id, 'SSL', false) . "\n" .
                EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n";
 if ($order->info['comments']) {
   $email_order .= tep_db_output($order->info['comments']) . "\n\n";
 }
 $email_order .= EMAIL_TEXT_PRODUCTS . "\n" .
                 EMAIL_SEPARATOR . "\n" .
                 $products_ordered .
                 EMAIL_SEPARATOR . "\n";

 

and replace with:

 

// lets start with the email confirmation
 $email_order = STORE_NAME . "\n" .
                EMAIL_SEPARATOR . "\n" .
                EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . "\n" .
                EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $insert_id, 'SSL', false) . "\n" .
                EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n";
 if ($order->info['comments']) {
   $email_order .= tep_db_output($order->info['comments']) . "\n\n";
 }
 $email_order .= EMAIL_SEPARATOR . "\n" .
     EMAIL_TEXT_BACKORDERS . "\n\n" .
tep_db_output($order->info['backorders']) . "\n\n";

 $email_order .= EMAIL_TEXT_PRODUCTS . "\n" .
                 EMAIL_SEPARATOR . "\n" .
                 $products_ordered .
                 EMAIL_SEPARATOR . "\n";

 

Then look for:

 

// unregister session variables used during checkout
 tep_session_unregister('sendto');
 tep_session_unregister('billto');
 tep_session_unregister('shipping');
 tep_session_unregister('payment');
 tep_session_unregister('comments');

 

Replace with:

 

// unregister session variables used during checkout
 tep_session_unregister('sendto');
 tep_session_unregister('billto');
 tep_session_unregister('shipping');
 tep_session_unregister('payment');
 tep_session_unregister('comments');
 tep_session_unregister('backorders');

 

Next, in /catalog/includes/languages/english/checkout_process.php, look for:

 

define('EMAIL_TEXT_PRODUCTS', 'Products');

 

Right above it, add:

 

define('EMAIL_TEXT_BACKORDERS', 'You have selected to handle backordered items (if any) as follows:');

 

In /catalog/includes/checkout_confirmation.php, look for:

 

  if (!tep_session_is_registered('comments')) tep_session_register('comments');
 if (tep_not_null($HTTP_POST_VARS['comments'])) {
   $comments = tep_db_prepare_input($HTTP_POST_VARS['comments']);
 }

 

Replace with:

 

  if (!tep_session_is_registered('comments')) tep_session_register('comments');
 if (tep_not_null($HTTP_POST_VARS['comments'])) {
   $comments = tep_db_prepare_input($HTTP_POST_VARS['comments']);

 if (!tep_session_is_registered('backorders')) tep_session_register('backorders');
 if (tep_not_null($HTTP_POST_VARS['backorders'])) {
   $backorders = tep_db_prepare_input($HTTP_POST_VARS['backorders']);
 }

 

Then, right underneath the Shipping Method on that page, I remind them of the option they selected for handling backorders. Look for:

 

              <tr>
               <td class="main"><?php echo $order->info['shipping_method']; ?></td>
             </tr>

 

Replace with:

 

              <tr>
               <td class="main"><?php echo $order->info['shipping_method']; ?></td>
             </tr>
             <tr>
               <td class="main"><i><?php echo $order->info['backorders']; ?></i></td>
             </tr>

 

In /catalog/includes/classes/order.php, look for:

 

                          'tax_groups' => array(),
                         'comments' => (isset($GLOBALS['comments']) ? $GLOBALS['comments'] : ''));

 

replace with:

 

                          'tax_groups' => array(),
                         'backorders' => (isset($GLOBALS['backorders']) ? $GLOBALS['backorders'] : ''),
                         'comments' => (isset($GLOBALS['comments']) ? $GLOBALS['comments'] : ''));

 

Okay, I think that's it! Again, you'll need to carefully check your code (especially the HTML aspects) to see if it works for you, but you can see it in action by putting through a test order via my WWW link below.

 

HTH!

 

Terry

Terry Kluytmans

 

Contribs Installed: Purchase Without Account (PWA); Big Images, Product Availability, Description in Product Listing, Graphical Infobox, Header Tags Controller, Login Box, Option Type Feature, plus many layout changes & other mods of my own, like:

 

Add order total to checkout_shipment

Add order total to checkout_payment

Add radio buttons at checkout_shipping (for backorder options, etc.)

Duplicate Table Rate Shipping Module

Better Product Review Flow

 

* If at first you don't succeed, find out if there's a prize for the loser. *

Link to comment
Share on other sites

  • Replies 51
  • Created
  • Last Reply

This is interesting to me. I'm trying to gather info so I can code some shipping restrictions in my site, so if the user chooses x product, that product can be only shipped via y carrier.

 

Do you think something like that can be done along these lines?

Link to comment
Share on other sites

It probably can, but I would think that would have to be done in the appropriate /modules/shipping file with an IF/ELSE statement. (I'm no PHP expert -- just learning as I go, so I may be wrong.)

 

Terry

Terry Kluytmans

 

Contribs Installed: Purchase Without Account (PWA); Big Images, Product Availability, Description in Product Listing, Graphical Infobox, Header Tags Controller, Login Box, Option Type Feature, plus many layout changes & other mods of my own, like:

 

Add order total to checkout_shipment

Add order total to checkout_payment

Add radio buttons at checkout_shipping (for backorder options, etc.)

Duplicate Table Rate Shipping Module

Better Product Review Flow

 

* If at first you don't succeed, find out if there's a prize for the loser. *

Link to comment
Share on other sites

I'm currently trying to code that. Not a PHP expert either. But I think the Individual Shipping contribution may serve as a basis for what I want to do. I think I will open a thread to see if someone might be interested in helping.

Link to comment
Share on other sites

  • 2 weeks later...

I've added this info to catalog/account_history_info.php as well, changing this:

 

<?php

$statuses_query = tep_db_query("select os.orders_status_name, osh.date_added, osh.comments from " . TABLE_ORDERS_STATUS . " os, " . TABLE_ORDERS_STATUS_HISTORY . " osh where osh.orders_id = '" . (int)$HTTP_GET_VARS['order_id'] . "' and osh.orders_status_id = os.orders_status_id and os.language_id = '" . (int)$languages_id . "' order by osh.date_added");

 

to this:

 

<?php

$statuses_query = tep_db_query("select os.orders_status_name, osh.date_added, osh.comments, osh.backorders from " . TABLE_ORDERS_STATUS . " os, " . TABLE_ORDERS_STATUS_HISTORY . " osh where osh.orders_id = '" . (int)$HTTP_GET_VARS['order_id'] . "' and osh.orders_status_id = os.orders_status_id and os.language_id = '" . (int)$languages_id . "' order by osh.date_added");

 

and this:

 

echo ' <tr>' . "\n" .

' <td class="main" valign="top" width="70">' . tep_date_short($statuses['date_added']) . '</td>' . "\n" .

' <td class="main" valign="top" width="70">' . $statuses['orders_status_name'] . '</td>' . "\n" .

' <td class="main" valign="top">' . (empty($statuses['comments']) ? '  ' : nl2br(tep_output_string_protected($statuses['comments']))) . '</td>' . "\n" .

' </tr>' . "\n";

}

 

to this:

 

echo ' <tr>' . "\n" .

' <td class="main" valign="top" width="70">' . tep_date_short($statuses['date_added']) . '</td>' . "\n" .

' <td class="main" valign="top" width="70">' . $statuses['orders_status_name'] . '</td>' . "\n" .

' <td class="main" valign="top">' . (empty($statuses['comments']) ? '  ' : nl2br(tep_output_string_protected($statuses['comments']))) . '</td>' . "\n" .

' </tr>' . "\n" .

' <tr>' . "\n" .

' <td colspan=3 class="main" valign="top"><b>' . (empty($statuses['backorders']) ? ' ' : nl2br(tep_output_string_protected($statuses['backorders']))) . '</b></td>' . "\n" .

' </tr>' . "\n";

}

 

 

That way, when customers view their account history, they can see (or you can point out to them) the option that they chose at checkout time.

 

-jared

Link to comment
Share on other sites

Terry, what did you do to add this info into the admin module(s)?

 

I can figure it out, but I thought that if you've already done it . . .

 

-jared

Link to comment
Share on other sites

Here's what I did to put it into catalog/admin/orders.php:

 

find this:

 

<?php
   $orders_history_query = tep_db_query("select orders_status_id, date_added, customer_notified, comments from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . tep_db_input($oID) . "' order by date_added");

 

and change it to this:

 

<?php
   $orders_history_query = tep_db_query("select orders_status_id, date_added, customer_notified, comments, backorders from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . tep_db_input($oID) . "' order by date_added");

 

then find this:

 

      <tr>
       <td class="main"><br><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>
     </tr>

 

 

and add this right before it:

 

<!-- backorder addition -->
     <tr>
       <td class="main"><br><b><?php echo TABLE_HEADING_BACKORDERS; ?></b>
<?php
   $orders_history_backorder_query = tep_db_query("select backorders from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . tep_db_input($oID). "'");

   $orders_history_backorder = tep_db_fetch_array($orders_history_backorder_query);
       echo tep_db_output($orders_history_backorder['backorders']) . '</td>' . "\n";
?>
     </tr>
     <tr>
       <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '5'); ?></td>
     </tr>
<!-- end backorder addition -->

 

 

in catalog/admin/includes/languages/english/orders.php, add this to the bottom (just above the closing ?> line):

 

// backorders
define('TABLE_HEADING_BACKORDERS', 'Backorder instructions:');

 

I think that that's all I did.

 

-jared

Link to comment
Share on other sites

the catalog/checkout_shipping.php looks even better if you do this (instead of the above instructions):

 

find this code:

      <tr>
       <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
        <tr>
           <td class="main"><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>
         </tr>
       </table></td>
     </tr>

 

and add this directly above it (right after the line with >? ) :

 

<!-- begin backorder forum contrib -->
      <tr><td><table border="0" width="100%" cellspacing="0" cellpadding="2">
              <tr><td class="main"><b><?php echo HEADING_BACKORDERS; ?></b></td>
              </tr></table>
          </td>
      </tr>
      <tr><td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
                <tr class="infoBoxContents">
                  <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
                       <tr>
                         <td COLSPAN="3" class="main" valign="top"><?php echo TEXT_BACKORDERS; ?>
                        <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
                       </tr>
                       <tr>
                         <td class="main">
                          <table border="0" width="100%" cellspacing="1" cellpadding="2">
                           <tr>
                            <td width="10%" class="main" valign="top"><?php echo tep_draw_radio_field('backorders', 'Hold order until all items are in stock.') . '</td>
                            <td width="90%" class="main" valign="top">' . HOLD . '</td>
                           </tr>
                           <tr>
                            <td width="10%" class="main" valign="top">' . tep_draw_radio_field('backorders', 'Ship in-stock items now and backordered items as available.  Additional shipping charges may apply.', CHECKED) . '</td>
                            <td width="90%" class="main" valign="top">' . SHIP . '</td>
                           </tr>
                           <tr>
                            <td width="10%" class="main" valign="top">' . tep_draw_radio_field('backorders', 'Ship in-stock items and cancel any backordered items.') . '</td>
                            <td width="90%" class="main" valign="top">' . CANCEL . '</td>
                           </tr>
                         </table>'; ?>
                        </td>
                       </tr>
                      </table>
                  </td>
                </tr>
              </table>
          </td>
     </tr>
     <tr>
       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>
<!-- end backorder forum contrib section -->

 

 

There! Now it fits right in with the rest of the page.

 

Should this be a contrib, do you think?

 

-jared

Link to comment
Share on other sites

forgot one more thing -- have to add the following to the bottom (just about the ?> of catalog/admin/includes/languages/english/orders.php:

 

// backorders

define('TABLE_HEADING_BACKORDERS', 'Backorder instructions:');

Link to comment
Share on other sites

You should post this as a contribution. I visited Terry's site and liked it, but had to search around until I found this forum posting.

Link to comment
Share on other sites

Thanks everyone for all the feedback, additional enhancements, etc.

 

I posted it here instead of as a contribution because it was just simple instructions with changes to existing pages instead of a bundled 'package,' so to speak. But maybe a contrib would be a good idea...

 

I've got a couple of days of commitments in front of me so I won't have time to work on it for a bit, but will put something together for maybe next week.

 

Terry

Terry Kluytmans

 

Contribs Installed: Purchase Without Account (PWA); Big Images, Product Availability, Description in Product Listing, Graphical Infobox, Header Tags Controller, Login Box, Option Type Feature, plus many layout changes & other mods of my own, like:

 

Add order total to checkout_shipment

Add order total to checkout_payment

Add radio buttons at checkout_shipping (for backorder options, etc.)

Duplicate Table Rate Shipping Module

Better Product Review Flow

 

* If at first you don't succeed, find out if there's a prize for the loser. *

Link to comment
Share on other sites

After installing this very easy code the one thing I would add: on the admin side there needs to be a way to edit the choice made by the customer (if they decide to change their mind and you want to record this). A simple drop-down box with the options showing and an update query to the db should do it. I am working on this today.

 

Also there was a bug in the code for catalog/includes/checkout_confirmation.php where it showed

 

 if (!tep_session_is_registered('comments')) tep_session_register('comments');
if (tep_not_null($HTTP_POST_VARS['comments'])) {
  $comments = tep_db_prepare_input($HTTP_POST_VARS['comments']);

if (!tep_session_is_registered('backorders')) tep_session_register('backorders');
if (tep_not_null($HTTP_POST_VARS['backorders'])) {
  $backorders = tep_db_prepare_input($HTTP_POST_VARS['backorders']);
}

 

This should be

 

 if (!tep_session_is_registered('comments')) tep_session_register('comments');
if (tep_not_null($HTTP_POST_VARS['comments'])) {
  $comments = tep_db_prepare_input($HTTP_POST_VARS['comments']);
}

if (!tep_session_is_registered('backorders')) tep_session_register('backorders');
if (tep_not_null($HTTP_POST_VARS['backorders'])) {
  $backorders = tep_db_prepare_input($HTTP_POST_VARS['backorders']);
}

 

Nice contribution guys! My office staff has wanted this for a while and it fit the bill perfectly. I'll post if I get an acceptable admin edit option built.

 

- James

Link to comment
Share on other sites

Thanks for spotting the coding error, James -- much appreciated!

 

Terry

( one of the 'girls' - not the 'guys' ) :)

Terry Kluytmans

 

Contribs Installed: Purchase Without Account (PWA); Big Images, Product Availability, Description in Product Listing, Graphical Infobox, Header Tags Controller, Login Box, Option Type Feature, plus many layout changes & other mods of my own, like:

 

Add order total to checkout_shipment

Add order total to checkout_payment

Add radio buttons at checkout_shipping (for backorder options, etc.)

Duplicate Table Rate Shipping Module

Better Product Review Flow

 

* If at first you don't succeed, find out if there's a prize for the loser. *

Link to comment
Share on other sites

  • 1 month later...

How 'bout a little more, folks!

 

I also found it helpful, when pulling and packing orders, to have this info show up on the invoice.

 

In catalog/admin/invoice.php:

 

add this right before the beginning of the ?> line that precedes the HTML code (starts with <!doctype html . . .):

 

// backorder addition
  $orders_backorder_query = tep_db_query("select backorders from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . tep_db_input($oID) . "'");
// backorder addition

 

 

then find this:

 

  <tr>
   <td><table border="0" cellspacing="0" cellpadding="2">
     <tr>
       <td class="main"><b><?php echo ENTRY_PAYMENT_METHOD; ?></b></td>
       <td class="main"><?php echo $order->info['payment_method']; ?></td>
     </tr>
   </table></td>
 </tr>

 

 

and add this right before it:

 

<!-- backorder addition -->
    <tr>
      <td class="main"><br><b><?php echo TABLE_HEADING_BACKORDERS; ?></b>
<?php
  $orders_history_backorder_query = tep_db_query("select backorders from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . tep_db_input($oID). "'");

  $orders_history_backorder = tep_db_fetch_array($orders_history_backorder_query);
      echo tep_db_output($orders_history_backorder['backorders']) . '</td>' . "\n";
?>
    </tr>
    <tr>
      <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '5'); ?></td>
    </tr>
<!-- end backorder addition -->

 

 

in catalog/admin/includes/languages/english/invoice.php, add this to the bottom (just above the closing ?> line):

 

// backorders
define('TABLE_HEADING_BACKORDERS', 'Backorder instructions:');

 

That's it!

 

I hope to have the code posted here to be able to change it in admin (in case the customer changes their mine) in the next few hours (assuming my kids stay asleep).

 

-jared

Link to comment
Share on other sites

Hmmmmmm....

 

It seems a little more complicated than I have time for tonight. Maybe I'll have time in the next couple of days.

 

-jared

Link to comment
Share on other sites

  • 4 weeks later...

What are you trying to do with the text boxes? Are they product-associated, or, for example, for general comments?

 

Terry

Terry Kluytmans

 

Contribs Installed: Purchase Without Account (PWA); Big Images, Product Availability, Description in Product Listing, Graphical Infobox, Header Tags Controller, Login Box, Option Type Feature, plus many layout changes & other mods of my own, like:

 

Add order total to checkout_shipment

Add order total to checkout_payment

Add radio buttons at checkout_shipping (for backorder options, etc.)

Duplicate Table Rate Shipping Module

Better Product Review Flow

 

* If at first you don't succeed, find out if there's a prize for the loser. *

Link to comment
Share on other sites

  • 2 weeks later...

When a person checks out, I need to collect information from them like a

Program ID-not required.

Seller's Name-required

School Name- required

City School is located in-required

State School is located in-required.

 

The company that I am setting the shopping cart up for offers products for school fundraisers. If a student sales something the buyer can go online and purchase the item. But they need to fill in the information above so that the student will receive credit for the sale. I have added all of the fields above to the database. In checkout_shipping.php I am confused about how to code it to get it formatted correctly. Basically I am copying your code and trying to format it where it will have Program ID: text box I am a newbie at php as if you can't tell. I would also like to print the information collected on the invoice.

Link to comment
Share on other sites

  • 2 weeks later...

Hi all,

 

I would like to know it is possible to adapted your code for this specific need:

I need to received advance (installment) on order (50% now and 50% at delivery).

 

I think that an upgrade at check/order contribution could bring this things in the checkout_confirmation.php page:

- a checkbox: for customers who want to pay in 2 times (50%/50%), so if

customer want to pay the total amount of order he don't check the box.

- a display of the total amount order. I think, it just need to take the

total price of order and to divided it by 2 (50%)

 

What do you think about this?

 

Best regards

 

Fab

 

PS: I'm not a coder so i'm a little bit confuse.

Link to comment
Share on other sites

  • 7 months later...

Has anyone been able to add something into the admin config to edit the choice options and save them into the database instead of editing the HTML code in the php files yet?

L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Link to comment
Share on other sites

Check the contrib's using the search phrase 'agree to terms' (or something like that) -- I'm sure there are a couple there.

 

HTH,

 

Terry

Terry Kluytmans

 

Contribs Installed: Purchase Without Account (PWA); Big Images, Product Availability, Description in Product Listing, Graphical Infobox, Header Tags Controller, Login Box, Option Type Feature, plus many layout changes & other mods of my own, like:

 

Add order total to checkout_shipment

Add order total to checkout_payment

Add radio buttons at checkout_shipping (for backorder options, etc.)

Duplicate Table Rate Shipping Module

Better Product Review Flow

 

* If at first you don't succeed, find out if there's a prize for the loser. *

Link to comment
Share on other sites

Has anyone been able to add something into the admin config to edit the choice options and save them into the database instead of editing the HTML code in the php files yet?

L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Link to comment
Share on other sites

Nope.

 

I'm short on time and even shorter on programming skills, so it's not a task I could undertake. Perhaps someone else might be able to figure it out.

 

Terry

Terry Kluytmans

 

Contribs Installed: Purchase Without Account (PWA); Big Images, Product Availability, Description in Product Listing, Graphical Infobox, Header Tags Controller, Login Box, Option Type Feature, plus many layout changes & other mods of my own, like:

 

Add order total to checkout_shipment

Add order total to checkout_payment

Add radio buttons at checkout_shipping (for backorder options, etc.)

Duplicate Table Rate Shipping Module

Better Product Review Flow

 

* If at first you don't succeed, find out if there's a prize for the loser. *

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...