crombiecrunch, on Dec 7 2008, 08:38 PM, said:
[Contribution] Support forum for Single Page Checkout
#21
Posted 07 December 2008 - 07:50 PM
#22
Posted 07 December 2008 - 08:27 PM
Quote
Replace with
tep_redirect(tep_href_link(FILENAME_CHECKOUT, '', 'SSL'));
Find
tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));
Replace
tep_redirect(tep_href_link(FILENAME_CHECKOUT, '', 'SSL'));
I use 2.2ms2-051113
#23
Posted 07 December 2008 - 08:30 PM
verktoybutikken.no, on Dec 7 2008, 02:27 PM, said:
I use 2.2ms2-051113
Hi there see the previous post. I left out a . in the text I think so just do a search for FILENAME_CHECKOUT_XXXX_XXXXX (FILENAME_CHECKOUT_PAYMENT_ADDRESS, etc) for all 4 edits
Edited by crombiecrunch, 07 December 2008 - 08:31 PM.
#24
Posted 07 December 2008 - 08:36 PM
i just have to say this is an awesome contri
thanks thanks alot
installed it and it works great
thanks again
danta67
#25
Posted 07 December 2008 - 08:37 PM
crombiecrunch, on Dec 7 2008, 09:30 PM, said:
The only thing i found is
Quote
Is this the one???? Replace with:
Quote
#27
Posted 08 December 2008 - 05:30 AM
Questions:
1. Has anyone got it to work with STS? The javascript won't work for me with the tick box "Shipping address same as billing address". I did try to include the javascript in the checkout.php.html but with no luck.
2. Will it be possible to have support for "Customer MUST AGREE to TERMS and CONDITIONS http://addons.oscommerce.com/info/5750"
Thanks!
#28
Posted 08 December 2008 - 06:39 AM
#29
Posted 08 December 2008 - 11:02 AM
i try to login from the checkout.php site but it redirect me to the login.php file
is this correct
thanks danta67
#30
Posted 08 December 2008 - 03:48 PM
thanks
#32
Posted 08 December 2008 - 05:53 PM
i had to change the code to suit my template and i left something out it is fixed now
thanks
is it a good idea to take the create account out of the shop
are you working on this
danta67
#33
Posted 09 December 2008 - 04:13 PM
If I'm wrong please let me know, I'm bookmarking the contribution and will follow with enthusiasm.
#34
Posted 09 December 2008 - 06:48 PM
I *think* that if there's a conflict it would be in checkout confirmation (maybe) and here is the code as I've changed it for Single Page Checkout w/PWA, maybe I did something wrong:
<?php
/*
$Id: checkout_confirmation.php,v 1.139 2003/06/11 17:34:53 hpdl Exp $
osCommerce, Open Source E-Commerce Solutions
[url="http://www.oscommerce.com"]http://www.oscommerce.com[/url]
Copyright © 2003 osCommerce
Released under the GNU General Public License
*/
require('includes/application_top.php');
// if the customer is not logged on, redirect them to the login page
if (!tep_session_is_registered('customer_id')) {
$navigation->set_snapshot(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT));
tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
}
// if there is nothing in the customers cart, redirect them to the shopping cart page
if ($cart->count_contents() < 1) {
tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
}
// avoid hack attempts during the checkout procedure by checking the internal cartID
if (isset($cart->cartID) && tep_session_is_registered('cartID')) {
if ($cart->cartID != $cartID) {
tep_redirect(tep_href_link(FILENAME_CHECKOUT, '', 'SSL'));
}
}
// if no shipping method has been selected, redirect the customer to the shipping method selection page
if (!tep_session_is_registered('shipping')) {
tep_redirect(tep_href_link(FILENAME_CHECKOUT, '', 'SSL'));
}
if (!tep_session_is_registered('payment')) tep_session_register('payment');
if (isset($HTTP_POST_VARS['payment'])) $payment = $HTTP_POST_VARS['payment'];
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']);
}
// load the selected payment module
require(DIR_WS_CLASSES . 'payment.php');
$payment_modules = new payment($payment);
require(DIR_WS_CLASSES . 'order.php');
$order = new order;
$payment_modules->update_status();
if ( ( is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1)
&& !is_object($$payment) ) || (is_object($$payment) && ($$payment->enabled == false)) ) {
tep_redirect(tep_href_link(FILENAME_CHECKOUT, 'error_message=' . urlencode
(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL'));
}
if (is_array($payment_modules->modules)) {
$payment_modules->pre_confirmation_check();
}
// load the selected shipping module
require(DIR_WS_CLASSES . 'shipping.php');
$shipping_modules = new shipping($shipping);
require(DIR_WS_CLASSES . 'order_total.php');
$order_total_modules = new order_total;
// Stock Check
$any_out_of_stock = false;
if (STOCK_CHECK == 'true') {
for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {
if (tep_check_stock($order->products[$i]['id'], $order->products[$i]['qty'])) {
$any_out_of_stock = true;
}
}
// Out of Stock
if ( (STOCK_ALLOW_CHECKOUT != 'true') && ($any_out_of_stock == true) ) {
tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
}
}
require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_CONFIRMATION);
$breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT, '', 'SSL'));
$breadcrumb->add(NAVBAR_TITLE_2);
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<?php
/*** Begin Header Tags SEO ***/
if ( file_exists(DIR_WS_INCLUDES . 'header_tags.php') ) {
require(DIR_WS_INCLUDES . 'header_tags.php');
} else {
?>
<title><?php echo TITLE; ?></title>
<?php
}
/*** End Header Tags SEO ***/
?>
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->
<!-- body //-->
<table border="0" width="100%" cellspacing="3" cellpadding="3">
<tr>
<td width="<?php echo BOX_WIDTH_LEFT; ?>" valign="top"><table border="0" width="
<?php echo BOX_WIDTH_LEFT; ?>" cellspacing="0" cellpadding="2">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
</table></td>
<!-- body_text //-->
<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
<td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES .
'table_background_confirmation.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
</tr>
</table></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="main">
<tr class="main">
<?php
if ($sendto != false) {
?>
<td width="30%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr><!-- PWA BOF -->
<td class="main"><?php echo '<b>' . HEADING_DELIVERY_ADDRESS . '</b>' .
(((! tep_session_is_registered('customer_is_guest')) || (defined('PURCHASE_WITHOUT_ACCOUNT_SEPARATE_SHIPPING')
&& PURCHASE_WITHOUT_ACCOUNT_SEPARATE_SHIPPING=='yes') )? ' <a href="' . tep_href_link
(FILENAME_CHECKOUT, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>':''); ?></td>
</tr><!-- PWA EOF -->
<tr>
<td class="main"><?php echo tep_address_format($order->delivery['format_id'], $order->delivery, 1, ' ', '<br>'); ?>
</td>
</tr>
<?php
if ($order->info['shipping_method']) {
?>
<tr>
<td class="main"><?php echo '<b>' . HEADING_SHIPPING_METHOD . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT,
'', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
</tr>
<tr>
<td class="main"><?php echo $order->info['shipping_method']; ?></td>
</tr>
<?php
}
?>
</table></td>
<?php
}
?>
<td width="<?php echo (($sendto != false) ? '70%' : '100%'); ?>" valign="top"><table border="0" width="100%"
cellspacing="0" cellpadding="0">
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<?php
if (sizeof($order->info['tax_groups']) > 1) {
?>
<tr>
<td class="main" colspan="2"><?php echo '<b>' . HEADING_PRODUCTS . '</b> <a href="' . tep_href_link
(FILENAME_SHOPPING_CART) . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
<td class="smallText" align="right"><b><?php echo HEADING_TAX; ?></b></td>
<td class="smallText" align="right"><b><?php echo HEADING_TOTAL; ?></b></td>
</tr>
<?php
} else {
?>
<tr>
<td class="main" colspan="3"><?php echo '<b>' . HEADING_PRODUCTS . '</b> <a href="' . tep_href_link
(FILENAME_SHOPPING_CART) . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
</tr>
<?php
}
for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {
echo ' <tr>' . "\n" .
' <td class="main" align="right" valign="top" width="30">' . $order->products[$i]['qty'] . ' x</td>' . "\n" .
' <td class="main" valign="top">' . $order->products[$i]['name'];
if (STOCK_CHECK == 'true') {
echo tep_check_stock($order->products[$i]['id'], $order->products[$i]['qty']);
}
if ( (isset($order->products[$i]['attributes'])) && (sizeof($order->products[$i]['attributes']) > 0) ) {
for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) {
echo '<br><nobr><small> <i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]
['attributes'][$j]['value'] . '</i></small></nobr>';
}
}
// denuz text attr
$b = strpos($order->products[$i]['id'], '{');
if ($b === false) {
$pid = $order->products[$i]['id'];
} else {
$pid = substr($order->products[$i]['id'], 0, $B);
}
$attr_q = tep_db_query("select cbta.*, pta.products_text_attributes_name from customers_basket_text_attributes as cbta,
products_text_attributes as pta where cbta.products_text_attributes_id = pta.products_text_attributes_id and cbta.products_id
= " . $pid . " and cbta.session_id = '" . $osCsid . "'");
while ($attr = tep_db_fetch_array($attr_q)) {
echo '<br><small> <i> - ' . $attr['products_text_attributes_name'] . ': ' . stripslashes($attr['products_text_attributes_text']) . '</i></small>';
}
// eof denuz text attr
echo '</td>' . "\n";
if (sizeof($order->info['tax_groups']) > 1) echo ' <td class="main" valign="top" align="right">' . tep_display_tax_value
($order->products[$i]['tax']) . '%</td>' . "\n";
echo ' <td class="main" align="right" valign="top">' . $currencies->display_price($order->products[$i]['final_price'],
$order->products[$i]['tax'], $order->products[$i]['qty']) . '</td>' . "\n" .
' </tr>' . "\n";
}
?>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<tr>
<td class="main"><b><?php echo HEADING_BILLING_INFORMATION; ?></b></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="main">
<tr class="main">
<td width="30%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr><!-- PWA BOF -->
<td class="main"><?php echo '<b>' . HEADING_BILLING_ADDRESS . '</b> <a href="' . ((tep_session_is_registered('customer_is_guest'))?tep_href_link(FILENAME_CREATE_ACCOUNT, 'guest=guest', 'SSL'):
tep_href_link(FILENAME_CHECKOUT, '', 'SSL')) . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
</tr><!-- PWA EOF -->
<tr>
<td class="main"><?php echo tep_address_format($order->billing['format_id'], $order->billing, 1, ' ', '<br>'); ?></td>
</tr>
<tr>
<td class="main"><?php echo '<b>' . HEADING_PAYMENT_METHOD . '</b> <a href="' . tep_href_link
(FILENAME_CHECKOUT, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
</tr>
<tr>
<td class="main"><?php echo $order->info['payment_method']; ?></td>
</tr>
</table></td>
<td width="70%" valign="top" align="right"><table border="0" cellspacing="0" cellpadding="2">
<?php
if (MODULE_ORDER_TOTAL_INSTALLED) {
$order_total_modules->process();
echo $order_total_modules->output();
}
?>
</table></td>
</tr>
</table></td>
</tr>
<?php
if (is_array($payment_modules->modules)) {
if ($confirmation = $payment_modules->confirmation()) {
?>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<tr>
<td class="main"><b><?php echo HEADING_PAYMENT_INFORMATION; ?></b></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="main">
<tr class="main">
<td><table border="0" cellspacing="0" cellpadding="2">
<tr>
<td class="main" colspan="4"><?php echo $confirmation['title']; ?></td>
</tr>
<?php
for ($i=0, $n=sizeof($confirmation['fields']); $i<$n; $i++) {
?>
<tr>
<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
<td class="main"><?php echo $confirmation['fields'][$i]['title']; ?></td>
<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
<td class="main"><?php echo $confirmation['fields'][$i]['field']; ?></td>
</tr>
<?php
}
?>
</table></td>
</tr>
</table></td>
</tr>
<?php
}
}
?>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<?php
if (tep_not_null($order->info['comments'])) {
?>
<tr>
<td class="main"><?php echo '<b>' . HEADING_ORDER_COMMENTS . '</b> <a href="' . tep_href_link
(FILENAME_CHECKOUT, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></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 class="main"><?php echo nl2br(tep_output_string_protected($order->info['comments'])) .
tep_draw_hidden_field('comments', $order->info['comments']); ?></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<?php
}
?>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td align="right" class="main">
<?php
if (isset($$payment->form_action_url)) {
$form_action_url = $$payment->form_action_url;
} else {
$form_action_url = tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL');
}
echo tep_draw_form('checkout_confirmation', $form_action_url, 'post');
if (is_array($payment_modules->modules)) {
echo $payment_modules->process_button();
}
echo tep_image_submit('button_confirm_order.gif', IMAGE_BUTTON_CONFIRM_ORDER) . '</form>' . "\n";
?>
</td>
</tr>
</table></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" align="right"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td>
<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
</tr>
</table></td>
<td width="25%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
<td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
<td><?php echo tep_image(DIR_WS_IMAGES . 'checkout_bullet.gif'); ?></td>
<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
</tr>
</table></td>
<td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td>
</tr>
</table></td>
</tr>
<tr>
<td align="center" width="25%" class="checkoutBarFrom"><?php echo '<a href="' . tep_href_link
(FILENAME_CHECKOUT, '', 'SSL') . '" class="checkoutBarFrom">' . CHECKOUT_BAR_DELIVERY . '</a>'; ?></td>
<td align="center" width="25%" class="checkoutBarFrom"><?php echo '<a href="' . tep_href_link
(FILENAME_CHECKOUT, '', 'SSL') . '" class="checkoutBarFrom">' . CHECKOUT_BAR_PAYMENT . '</a>'; ?></td>
<td align="center" width="25%" class="checkoutBarCurrent"><?php echo CHECKOUT_BAR_CONFIRMATION; ?></td>
<td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_FINISHED; ?></td>
</tr>
</table></td>
</tr>
</table></td>
<!-- body_text_eof //-->
<td width="<?php echo BOX_WIDTH_RIGHT; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH_RIGHT; ?>
" cellspacing="0" cellpadding="2">
<!-- right_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //-->
</table></td>
</tr>
</table>
<!-- body_eof //-->
<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
#35
Posted 10 December 2008 - 12:29 AM
#36
Posted 10 December 2008 - 05:30 PM
I use CCGV and was wondering if this could be implemented in this fabulous contribution
Ricardo
#37
Posted 12 December 2008 - 02:26 AM
However, there's one possible problem though.
When a customer is on the checkout page, he has to fill in the Shipping Address, this is where the problem start to happen with the Shipping Methods.
Let's say the customer is in Australia, and when the customer is filling out that checkout form for the first time, the only shipping method available to that new customer is 'Flat Rate/Best Way'.
I was wondering if there's a way we can make the other shipping methods i.e. Australia Post become available?
I tried changing the SHIPPING ZONE and TAX CLASS setting of the AusPos shipping modules to none in the hope that the AusPos shipping methods will be displayed on the checkout page.
Maybe someone got hints/clues/solution to this problem?
Still, this is a great contribution.
#39
Posted 14 December 2008 - 09:58 AM
I installed the contribution in my store (on local) and report this error: Parse error: parse error, unexpected $end in C:\Archivos de programa\EasyPHP 2.0b1\www\limpia\checkout.php on line 2589
I installed again on a new oscommerce reporting the same error.
Thanks
#40
Posted 14 December 2008 - 08:17 PM
I had my first order placed today using Single Page Checkout and although I received an email of payment notification from PayPal, the order was not saved on my database and so I have no way of knowing what this person ordered!
Does anyone know how to make this contribution works with Pay Pal IPN?
PayPal IPN uses the checkout_process.php file and I am not sure what to do to make it work with checkout.php
thanks!
Ricardo









