Jump to content
fulluvscents

Simple Checkout - for 2.3.1 (official support thread)

Recommended Posts

I hope all that made sense.

 

I'd like to know the basis for your PayPal opinion, but that's another topic for another time. :)

 

To your response, I think I understand your point and it does make sense to me.

 

In hindsight, what I was asking about probably does not fall to directly simple checkout to solve, considering that the paypal product name mod that I am familiar with requires changes to the paypal_standard module itself to get this to work. So just tweaking simple checkout itself won't work from what I can presume. But I don't know code well enough to even venture a guess.

 

So getting PayPal to work with simple checkout is probably something that would be done separately I suppose.

 

Thanks


I am not a professional webmaster or PHP coder by background or training but I will try to help as best I can.

I remember what it was like when I first started with osC. It can be overwhelming.

However, I strongly recommend considering hiring a professional for extensive site modifications, site cleaning, etc.

There are several good pros here on osCommerce. Look around, you'll figure out who they are.

Share this post


Link to post
Share on other sites

My test osC is stock 2.3.1 and the included modules. Unlike the report of PPS, the PPE button processes the order properly. But as I said, no option in the SCO itself, and two separate buttons might do very well to confuse the customers.

Share this post


Link to post
Share on other sites

after reading last post aboyt Paypal I re re re installed its still not working for me when swicthing over to pay pal it appears while

Processing Order, Please Wait this is where the error is then i get

 

The link you have used to enter the PayPal system contains an incorrectly formatted item amount.

 

yet paypal express works but pp standard dosnt work

Share this post


Link to post
Share on other sites

Nice. I just wrote an entire response and it was wiped out because I got logged out while I was writing (and testing). Grrrr..

 

PPE vs. PPS:

 

Regarding the item display on the PP pages, PPE displays the items differently from PPS - it's not the checkout. It's a difference between the mods. PPE displays aggregate. PPS displays the items individually. This can probably be recoded to match, but it's not a checkout issue, so I won't get into that here.

 

@@pantarra

BOTH of your issues (the display AND the format issue) might be resolved by installing the paypal IPN contribution and setting it to aggregate instead of item. It may be your easiest and fastest fix, at least according to the bit of research I've done on the topics. But, I can't promise it will work at all, since I'm just going by what others have recommended.

 

Please try that and post back to let us know if it worked for you.

Share this post


Link to post
Share on other sites

In need of some direction? Chose Option 3 method of install, all seemed to have went well. Opened my C-Panel, went to phpAdmin, for the SQL query, seemed to work (this is my weak spot.) Stopped At the Admin Panel, turned off the old OPC, turned on the new Simple Checkout. Tried to place a sale, everything was great until I got to the checkout.php page. Displays only the background, nuthin' else. Went back and checked all my work, and yes I saved all previous files in a back-up! The SQL query is where I get confused; have only ran one SQL previously, so bet I screwed something up? Is there any site where one can find instruction on how to run the SQL query? The hostmonster guy didn't have a clue! If it is some other error any ideas? My forte is in computer hardware, so please excuse my ignorance.

 

Here is the store URL: www.discountegauges.com The checkout page: www.discountegauges.com/checkout.php

 

Went back to Admin Panel, turned off simple, turned on the old OPC, same outcome!

 

Thanks a bunch,

 

Timmy C

Share this post


Link to post
Share on other sites

@@dog-toyz

 

Yes. The jquery for the dialogs is in the place varina pointed out. The html for the divs is at the bottom of the checkout.php file with IDs to identify them. Just wrap your divs around those.

 

I can place my divs around the divs such as id="account" etc but its the div below I need to place inside other div's.

 

 

<DIV CLASS="MY_DIV>

<div style="outline-width: 0px; outline-style: initial; outline-color: initial; height: auto; width: 400px; top: -1291px; left: 748px; display: block; z-index: 1007; " class="ui-dialog ui-widget ui-widget-content ui-corner-all " tabindex="-1" role="dialog" aria-labelledby="ui-dialog-title-account"><div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix" style="display: none; "><span class="ui-dialog-title" id="ui-dialog-title-account"> </span><a href="#" class="ui-dialog-titlebar-close ui-corner-all" role="button"><span class="ui-icon ui-icon-closethick">close</span></a></div>.............</div>

</DIV>

Share this post


Link to post
Share on other sites

Went back to C-Panel... Tried running query again, error sez "you have to choose at least one column to display" Clicked the column button, drop-down has a massive alphabetical list; what am I looking for to select?

 

 

Thanks a bunch,

 

Timmy C

Share this post


Link to post
Share on other sites

@@surrfman

 

You need to remove everything from your includes/template_top.php file that pertained to the old OPC.

 

@@dog-toyz

 

Instead of wrapping around those main divs, place your div just inside of them and wrap it around the contents of the div. Since these are dialogs, they are styled much differently than normal divs.

 

You may need to add a class in the jQuery code. I'm not sure exactly what you're trying to accomplish. Changing the theme (background) of the entire dialog, or just adding a div inside of it (wrapping it around the form), which would give you a sort of border inside the dialog.

Share this post


Link to post
Share on other sites

@@dog-toyz

 

Instead of wrapping around those main divs, place your div just inside of them and wrap it around the contents of the div. Since these are dialogs, they are styled much differently than normal divs.

 

You may need to add a class in the jQuery code. I'm not sure exactly what you're trying to accomplish. Changing the theme (background) of the entire dialog, or just adding a div inside of it (wrapping it around the form), which would give you a sort of border inside the dialog.

 

All I want to achieve is to display the login/create account box inside the content div for my theme. I can alter the position of it but I need the div to expand with it. I've attached an image to show you my problem.

 

http://postimage.org/image/pfnk8z40l/

Edited by dog-toyz

Share this post


Link to post
Share on other sites

Also, I noticed that during the checkout process there are "My Account" and "Guest Account" buttons (on different pages of the checkout process) in the upper right corner of the pages.

 

I am able to click them and be taken to account modification pages where you can sign up for newsletters, change passwords, view orders, etc... Isn't that something that should be disabled (if someone is checking out as a guest).

Share this post


Link to post
Share on other sites

Cleaned out the includes/template_top file, took care of problem!!! Of course, another situation arises; having an issue after either creating an account or using the guest account. With all customer info inserted, "Confirm" is clicked, results in the loader.gif, dancing around in an endlessly "processing" with page in that half-grey state of shock; never gets past that point.

 

Any Ideas?

 

Thanks for all the help,

 

Timmy C

Share this post


Link to post
Share on other sites

Is there a breadcrumb in the add-on? I am seeing displayed a second set of breadcrumb tabs (cart, account. log-off) on the left side of the page. Where does one go to shut them off?

 

Thanks a bunch,

 

Timmy C

Share this post


Link to post
Share on other sites

@@surrfman

 

I didn't have a problem creating an account, but I'm getting an ajax error in your checkout and I have no idea which ajax call is throwing the error. My guess is that it's the headernavigation refresh.

 

It's not the breadcrumb that's duplicating, it's the header navigation buttons. Apparently, you moved your buttons outside of the #headerNavigation div (which the script is trying to refresh on page load. Not only that, but you restyled them - I'm assuming independently. The checkout refreshes those buttons to match the cart and/or customer type. Notice that the when the number of items in the cart changes, it shows in the buttons as well. Also, if a customer creates an account as a guest, I have the buttons set to display "guest account" and hide "log off".

 

Fixing that will be a matter of either eliminating the refresh or moving your links back to the correct div and restyling them through that div instead of independently. The styling changes may need to pass through to the checkout's ajax call as well. The first option is easy, but improper. The second takes a little more work, but is the proper way to fix it.

 

@@ggrant3

 

How can I set it up so the country is pre-selected for the U.S.?

 

The same way you would in a stock shop. You can hard code it through the script using the country id (number) matching the country in your db (should be 223), or you can set it according to your "STORE_COUNTRY", which you change from admin.

 

Look on the first or second page of this thread for the answer already provided on where and how to hard code it.

 

If a customer creates a guest account, then they are logged in as a customer. There is no way to avoid that, and the same thing will happen if someone uses PayPal express, or any other "guest account" add on or mod where a temporary account is needed. We need to pass those session variables through the payment, order, and other processes. What I did do, was hide the "log off" button, and changed the "my account" button to "guest account" or something like that. I also log the guest customer off, as soon as they've completed the checkout process. If you wanted to go to the extent of deleting the temporary account after they checkout, it would be a matter of one line of code, I think. But, in no case, can you check them out without at least creating a temporary account for the checkout process. I did what I could to hide that from the customer while in checkout, but I can't bypass the temporary account altogether.

 

Note that if you've changed your navigation button set, then it will be thrown off, as explained above to surrfman, and you'll have to change it in the checkout to match.

Share this post


Link to post
Share on other sites

@@fulluvscents, two separate things I would like to ask:

  1. Is it possible to disable changing product quantity entirely? I've decided it's presence blurs the line between shopping cart and checkout, and difference in implementations breaks consistency. Though I still wish I could have all that separately on the shopping cart itself.
  2. Make a separate section with all the price calculation at the bottom with the Checkout button.

Number 2 is just an idea. I would like to implement no. 1 ASAP.

Share this post


Link to post
Share on other sites
@@ggrant3

 

The same way you would in a stock shop. You can hard code it through the script using the country id (number) matching the country in your db (should be 223), or you can set it according to your "STORE_COUNTRY", which you change from admin.

 

Look on the first or second page of this thread for the answer already provided on where and how to hard code it.

 

If a customer creates a guest account, then they are logged in as a customer. There is no way to avoid that, and the same thing will happen if someone uses PayPal express, or any other "guest account" add on or mod where a temporary account is needed. We need to pass those session variables through the payment, order, and other processes. What I did do, was hide the "log off" button, and changed the "my account" button to "guest account" or something like that. I also log the guest customer off, as soon as they've completed the checkout process. If you wanted to go to the extent of deleting the temporary account after they checkout, it would be a matter of one line of code, I think. But, in no case, can you check them out without at least creating a temporary account for the checkout process. I did what I could to hide that from the customer while in checkout, but I can't bypass the temporary account altogether.

 

Note that if you've changed your navigation button set, then it will be thrown off, as explained above to surrfman, and you'll have to change it in the checkout to match.

 

Ahh, I was looking higher up in the code.

 

Although after I changed that it doesn't allow me fill in the state box.

 

I know its a minor "issue" so if you don't have time to figure it out right now its not a big deal. I just like to make everything as quick and easy for my customers as possible

Edited by ggrant3

Share this post


Link to post
Share on other sites

@@fulluvscents...

 

Tried the test account with firefox. Get a pop-up while processing stating Error : null with an "OK" button. Click the "OK" and the processing stops, enabling customer to proceed.

 

Trying to understand the header navigation. Here is my header.php file, this is what I believe controls the breadcrumb display. Does the old PWA stuff get in the way?:

 

<?php

/*

$Id$

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2010 osCommerce

 

Released under the GNU General Public License

*/

 

if ($messageStack->size('header') > 0) {

echo '<div class="grid_24">' . $messageStack->output('header') . '</div>';

}

?>

 

<div id="header" class="grid_24">

 

<div id="storeLogo"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image(DIR_WS_IMAGES . 'store_logo.png', STORE_NAME) . '</a>'; ?></div>

 

<div id="headerShortcuts">

 

 

</div>

 

 

</div>

 

 

 

<div class="grid_24 ui-widget infoBoxContainer">

 

<div class="ui-widget-header infoBoxHeading"><?php echo '  ' . $breadcrumb->trail(' » '); ?>

<div style="width:36%;float:right;text-align:right;padding-right:10px;">

 

<?php

echo '<a class="headershortcutlink" href="' . tep_href_link(FILENAME_SHOPPING_CART) . '"alt="" >'.($cart->count_contents() > 0 ? ' (' . $cart->count_contents() . ')' : '') . HEADER_TITLE_CART_CONTENTS . '</a> | ' .

'<a class="headershortcutlink" href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '" alt="">' . HEADER_TITLE_CHECKOUT . '</a> | ';

//<!-- PWA BOF -->

if (tep_session_is_registered('customer_id') && (!isset($HTTP_GET_VARS['guest']) && !isset($HTTP_POST_VARS['guest'])) && !$order->customer['is_dummy_account']) {

echo '<a class="headershortcutlink" href="' . tep_href_link(FILENAME_ACCOUNT, '', 'SSL') . '"alt="">' . HEADER_TITLE_MY_ACCOUNT . '</a> | ' ;

}

if (tep_session_is_registered('customer_id')) {

echo '<a class="headershortcutlink" href="' . tep_href_link(FILENAME_LOGOFF, '', 'SSL') . '"alt="" >' . HEADER_TITLE_LOGOFF . '</a> ' ;

}

//<!-- PWA EOF -->

?>

</div>

</div>

</div>

 

 

<?php

 

if (isset($HTTP_GET_VARS['error_message']) && tep_not_null($HTTP_GET_VARS['error_message'])) {

 

?>

 

<table border="0" width="100%" cellspacing="0" cellpadding="2">

 

<tr class="headerError">

 

<td class="headerError"><?php echo htmlspecialchars(stripslashes(urldecode($HTTP_GET_VARS['error_message']))); ?></td>

 

</tr>

 

</table>

 

<?php

 

}

 

 

 

if (isset($HTTP_GET_VARS['info_message']) && tep_not_null($HTTP_GET_VARS['info_message'])) {

 

?>

 

<table border="0" width="100%" cellspacing="0" cellpadding="2">

 

<tr class="headerInfo">

 

<td class="headerInfo"><?php echo htmlspecialchars(stripslashes(urldecode($HTTP_GET_VARS['info_message']))); ?></td>

 

</tr>

 

</table>

 

<?php

 

}

 

?>

 

 

Your knowledge of how this all works is "simply" astonishing!!!!

 

Timmy C

 

Share this post


Link to post
Share on other sites

@@oxwivi

 

To disable qty field, and just show the qty, find:

 

<div class="left wid75 t-center">' . tep_draw_input_field('qty[' . $products[$i]['id'] . ']', $products[$i]['quantity'], 'size="2" data-pID="' . $products[$i]['id'] . '"') . '</div>

 

Replace with:

 

<div class="left wid75 t-center">' . $products[$i]['quantity'] . '</div>

 

No. 2 is a bit more work, but yeah, it can be done.

 

@@ggrant3

 

Although after I changed that it doesn't allow me fill in the state box.

 

Find and comment out the following:

 

 $('[name=state]', $('#account')).attr('disabled', 'true');

Edited by fulluvscents

Share this post


Link to post
Share on other sites

@@surrfman

 

2 questions:

 

1. Do you want those links to rest inside the breadcrumb bar?

2. Do you want them as text links or as buttons?

 

It looks like things got moved around when you merged PWA (which was written for 2.2). Not a biggie, just not sure if you intended to eliminate the buttons and replace them with text links, or whether you intended to move those links inside the breadcrumb trail. Can't tell you how to fix it until I know what you wanted.

Share this post


Link to post
Share on other sites

Hi!

 

I'm new with osCommerce (and PHP is not my friend either), trying to build my thesis and three weeks to deadline (w00t)

 

I tried to use this http://addons.oscommerce.com/info/8112/v,23, but only get:

 

Fatal error: Call to undefined method prepayment::update_status() in/home/paita852/public_html/checkout.php on line 629

 

Same happens with one other similar payment-contribution. Also my discount coupon-field is missing. Everything works when Simple checkout is disabled. Can someone help me with this? I think I have little older version, 1.3.

 

I really appreciate any help! If this is mission impossible, please tell me quickly :sweating:

Share this post


Link to post
Share on other sites

@@fulluvscents...

 

Mornin'! Couple questions; the pop=up for loggin-in to an account places itself high on page partially obsuring the page header. What would it take to get the pop-up to display lower on page?

 

Next, the account creation / guest account box displays kinda in your face. What would it take to make the guy display at about 2/3 of the size? Oh yeah, can the "country" box be turned-off?

 

Gotta run down to the metro Detroit area this AM, back late afternoon.

 

Thanks much,

 

Timmy C

 

Share this post


Link to post
Share on other sites

@@Anni

 

You have add-on modules that haven't been made compatible with simple checkout yet. Sorry, I'm doing a COMPLETE rewrite of an entire website and I've been jumping around to different things as I need to get them done (contributing as I go along). Eventually, I'll have discounts, rewards, credits, vouchers, etc. working on this, but It'll be a while before I get to it. So, for now, if you've got those things, then this checkout won't work for you.

@@surrfman

 

PWA shouldn't interfere. Your header file just doesn't match stock, so the checkout file needs to be modified to match what you have.

 

Replacing your header.php file with this:

 

<?php
/*
$Id$
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright © 2010 osCommerce
Released under the GNU General Public License
*/
if ($messageStack->size('header') > 0) {
echo '<div class="grid_24">' . $messageStack->output('header') . '</div>';
}
?>
<div id="header" class="grid_24">
<div id="storeLogo"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image(DIR_WS_IMAGES . 'store_logo.png', STORE_NAME) . '</a>'; ?></div>
</div>
<div class="grid_24 ui-widget infoBoxContainer">
<div class="ui-widget-header infoBoxHeading"><?php echo '  ' . $breadcrumb->trail(' » '); ?>
<div id="headerShortcuts" style="width:36%;float:right;text-align:right;padding-right:10px;">
<?php
echo  '<a class="headershortcutlink" href="' . tep_href_link(FILENAME_SHOPPING_CART) . '"alt="" >'.($cart->count_contents() > 0 ? ' (' . $cart->count_contents() . ')' : '') . HEADER_TITLE_CART_CONTENTS . '</a> | ' .
'<a class="headershortcutlink" href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '" alt="">' . HEADER_TITLE_CHECKOUT . '</a> | ';
if (tep_session_is_registered('customer_id') && (!isset($HTTP_GET_VARS['guest']) && !isset($HTTP_POST_VARS['guest'])) && !$order->customer['is_dummy_account']) {
echo '<a class="headershortcutlink" href="' . tep_href_link(FILENAME_ACCOUNT, '', 'SSL') . '"alt="">' . HEADER_TITLE_MY_ACCOUNT . '</a> | ' ;
}
if (tep_session_is_registered('customer_id')) {
echo '<a class="headershortcutlink" href="' . tep_href_link(FILENAME_LOGOFF, '', 'SSL') . '"alt="" >' . HEADER_TITLE_LOGOFF . '</a> ' ;
}
?>
</div>
</div>
</div>
<?php
if (isset($HTTP_GET_VARS['error_message']) && tep_not_null($HTTP_GET_VARS['error_message'])) {
?>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr class="headerError">
<td class="headerError"><?php echo htmlspecialchars(stripslashes(urldecode($HTTP_GET_VARS['error_message']))); ?></td>
</tr>
</table>
<?php
}
if (isset($HTTP_GET_VARS['info_message']) && tep_not_null($HTTP_GET_VARS['info_message'])) {
?>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr class="headerInfo">
<td class="headerInfo"><?php echo htmlspecialchars(stripslashes(urldecode($HTTP_GET_VARS['info_message']))); ?></td>
</tr>
</table>
<?php
}
?>

 

In checkout.php, FIND:

 

  echo  tep_draw_button(HEADER_TITLE_CART_CONTENTS . ($cart->count_contents() > 0 ? ' (' . $cart->count_contents() . ')' : ''), 'cart', tep_href_link(FILENAME_SHOPPING_CART)) .
tep_draw_button(HEADER_TITLE_CHECKOUT, 'triangle-1-e', tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')) .
($guestCustomer == 'true' ? tep_draw_button(HEADER_TITLE_GUEST_ACCOUNT, 'person', tep_href_link(FILENAME_ACCOUNT, '', 'SSL')) :
tep_draw_button(HEADER_TITLE_MY_ACCOUNT, 'person', tep_href_link(FILENAME_ACCOUNT, '', 'SSL')));
  if (tep_session_is_registered('customer_id') && $guestCustomer != 'true') echo tep_draw_button(HEADER_TITLE_LOGOFF, null, tep_href_link(FILENAME_LOGOFF, '', 'SSL'));

 

and replace it with this:

 

echo  '<a class="headershortcutlink" href="' . tep_href_link(FILENAME_SHOPPING_CART) . '"alt="" >'.($cart->count_contents() > 0 ? ' (' . $cart->count_contents() . ')' : '') . HEADER_TITLE_CART_CONTENTS . '</a> | ' .
'<a class="headershortcutlink" href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '" alt="">' . HEADER_TITLE_CHECKOUT . '</a> | ' .
($guestCustomer == 'true' ? '<a class="headershortcutlink" href="' . tep_href_link(FILENAME_ACCOUNT, '', 'SSL') . '"alt="">' . HEADER_TITLE_GUEST_ACCOUNT . '</a> | ' :
'<a class="headershortcutlink" href="' . tep_href_link(FILENAME_ACCOUNT, '', 'SSL') . '"alt="">' . HEADER_TITLE_MY_ACCOUNT . '</a> | ' );
if (tep_session_is_registered('customer_id') && $guestCustomer != 'true') echo '<a class="headershortcutlink" href="' . tep_href_link(FILENAME_LOGOFF, '', 'SSL') . '"alt="" >' . HEADER_TITLE_LOGOFF . '</a> ' ;

 

I haven't tested that. Let me know if it throws an error.

Edited by fulluvscents

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×