Jump to content



Latest News: (loading..)

* * * * * 1 votes

HOW-TO: add radio buttons at checkout_shipping


This topic has been archived. This means that you cannot reply to this topic.
51 replies to this topic

#-19   TerryK

TerryK
  • Members
  • 1,359 posts

Posted 22 May 2004 - 05:34 AM

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. *

#-18   Nugar

Nugar
  • Members
  • 54 posts

Posted 22 May 2004 - 02:45 PM

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?
Nugar

#-17   TerryK

TerryK
  • Members
  • 1,359 posts

Posted 22 May 2004 - 03:32 PM

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. *

#-16   Nugar

Nugar
  • Members
  • 54 posts

Posted 22 May 2004 - 03:47 PM

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.
Nugar

#-15   jcall

jcall
  • Members
  • 3,093 posts

Posted 31 May 2004 - 10:15 PM

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']) ? '&nbsp;&nbsp;' : 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']) ? '&nbsp;&nbsp;' : nl2br(tep_output_string_protected($statuses['comments']))) . '</td>' . "\n" .
         '              </tr>' . "\n" .
         '              <tr>' . "\n" .
         '                <td colspan=3 class="main" valign="top"><b>' . (empty($statuses['backorders']) ? '&nbsp;' : 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

Edited by jcall, 31 May 2004 - 10:17 PM.


#-14   jcall

jcall
  • Members
  • 3,093 posts

Posted 31 May 2004 - 10:16 PM

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

#-13   jcall

jcall
  • Members
  • 3,093 posts

Posted 01 June 2004 - 06:10 AM

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

Edited by jcall, 01 June 2004 - 06:10 AM.


#-12   jcall

jcall
  • Members
  • 3,093 posts

Posted 01 June 2004 - 07:14 AM

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

#-11   jcall

jcall
  • Members
  • 3,093 posts

Posted 01 June 2004 - 10:36 AM

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:');

#-10   batyushki

batyushki
  • Members
  • 21 posts

Posted 03 June 2004 - 10:07 PM

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.

#-9   TerryK

TerryK
  • Members
  • 1,359 posts

Posted 04 June 2004 - 04:30 AM

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. *

#-8   batyushki

batyushki
  • Members
  • 21 posts

Posted 04 June 2004 - 12:28 PM

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

#-7   TerryK

TerryK
  • Members
  • 1,359 posts

Posted 04 June 2004 - 02:31 PM

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. *

#-6   jcall

jcall
  • Members
  • 3,093 posts

Posted 16 July 2004 - 05:47 AM

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

#-5   jcall

jcall
  • Members
  • 3,093 posts

Posted 16 July 2004 - 07:05 AM

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

#-4   kristymichelle

kristymichelle
  • Members
  • 42 posts

Posted 11 August 2004 - 02:05 PM

I really like this idea and it is similar to what I am trying to do. I need to have text boxes instead of radio buttons. Would anyone know how to help?  Thanks.

#-3   TerryK

TerryK
  • Members
  • 1,359 posts

Posted 11 August 2004 - 05:46 PM

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. *

#-2   kristymichelle

kristymichelle
  • Members
  • 42 posts

Posted 23 August 2004 - 04:10 PM

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.

#-1   kristymichelle

kristymichelle
  • Members
  • 42 posts

Posted 26 August 2004 - 06:18 PM

Ok, I got it working. I just need to make some of the fields required. TerryK. Thanks for sharing that with us. I don't know what I would of done without that tip!

#0   fablog

fablog
  • Members
  • 68 posts

Posted 04 September 2004 - 05:50 PM

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.

Edited by fablog, 04 September 2004 - 05:52 PM.