Re: Order Delivery Date Support Thread
Checkout Process Skips Shipping Information
When checking out, the shipping page is skipped and it brings me directly to the payments page, which is step 2 of the checkout process. I had a program developed restricting the combination of products from multiple categories and had to turn of the combined shopping cart option in the modules/pages/login/header_php.php file. The error only seems to be occurring 1 out of every 4 checkout attempts. Is there more to turning off the combining of shopping carts, if so how am I able to do so? If this is not the problem what would be the causing this error?
I am using version: zen-cart-v1.3.8a
Thanks
Re: Order Delivery Date Support Thread
I figured out the problem regarding skipping the shipping information page in checkout.
Now my question is how can you display the date based off your server and not the workstation? Any help is greatly appreciated.
Re: Order Delivery Date Support Thread
Hi guys -- there is something wrong with my email notification of this thread because i was JUST notified that there was another thread posting since the last time i posted, and there have been a number of you that have since asked questions. Give me a few days to get back to you guys because i'm currently on the road until... tuesday??
Thanks!!
Re: Order Delivery Date Support Thread
Quote:
Originally Posted by
plbs
I noticed that, if you place and complete an order with a selected delivery date, then in the same session place a second order, but leave the delivery date blank, the 2nd order will store the same delivery date that you entered on the first order.
Figured out that this was due to the Order Delivery Date being stored in a session variable, along with other order-related data, but that (unless I screwed up the install!), the delivery date session variable is never cleared like the others are. So, I made the following change to includs\modules\pages\checkout_process\header_php.php ...
// unregister session variables used during checkout
unset($_SESSION['sendto']);
unset($_SESSION['billto']);
unset($_SESSION['shipping']);
unset($_SESSION['payment']);
unset($_SESSION['comments']);
unset($_SESSION['order_delivery_date']); //<- added this line
$order_total_modules->clear_posts();//ICW ADDED FOR CREDIT CLASS SYSTEM
That seemed to fix the problem.
Ahhh - i hadn't thought about this and it has not been brought up before now. I will test this fix in the next day or so and update the official contribution package. Thanks!!
Re: Order Delivery Date Support Thread
Quote:
Originally Posted by
plbs
Well, I'm a PHP and ZC newb, so I don't know if this is the ideal solution, but I did come up with a fix for my #2 problem above.
I edited admin\includes\function\general.php, specifically the three date conversion functions, zen_date_long, zen_date_short, and zen_datetime_short
Each of those starts with an if ... return false statement to trap essentially blank input. It was trapping '0001-01-01 00:00:00' as a "blank" date, but I found that my NULL date field was actually evaluating to "0000-00-00" as a string. So I added another OR to each of those IF statements:
function zen_date_long($raw_date) {
if ( ($raw_date == '0001-01-01 00:00:00') || ($raw_date == '0000-00-00') || ($raw_date == '') ) return false; //<-- edited this line
function zen_date_short($raw_date) {
if ( ($raw_date == '0001-01-01 00:00:00') || ($raw_date == '0000-00-00') || ($raw_date == '') ) return false; //<-- edited this line
function zen_datetime_short($raw_datetime) {
if ( ($raw_datetime == '0001-01-01 00:00:00') || ($raw_datetime == '0000-00-00') || ($raw_datetime == '') ) return false; //<-- edited this line
Hey Steve,
I have been aware of this issue where when no date is selected, it reflects as being entered from 1999 or something weird, but i have been lax on updating this, and i apologize.
With regard to your changes listed above, you have edited core functions that zen cart also uses in other various places. So, while you may have fixed the display with order delivery date, you may have broken another part of the application.
In my last response from a few minutes ago regarding your first issue listed, i said that i would test the session fix within the next day or so. I will also try to write a new function JUST for order delivery date to address this issue. :smile:
Re: Order Delivery Date Support Thread
Quote:
Originally Posted by
cpixi
...could you give a newbie php user a little advice on requiring the date instead of just requesting it?
My guess is to write an if else clause on the tpl_checkout_payment_default.php page directing the customer back to the shipping page if they do not enter in a date.
Let me look into this in the next day or so when i'll be working on the delivery date code. I'll get back to you on it. :smile:
Re: Order Delivery Date Support Thread
Quote:
Originally Posted by
gbrown77
I was wondering if anyone has made one message that describes "Here is how to install, configure etc." I have been trying to read thru all #159 messages, but some are 3 years old.
Just so you know, I have downloaded all the files installed them, but I can not figure out how to get it to run, I go thru the order process and it never asks me when to deliver? The files are all there, but no mod.
George,
If you do not see the delivery date field on the first checkout page, then it sounds like you don't have your files in the right place.
There are instructions in the readme file. Read them closely. Then you will see it tells you were to specifically edit the blackout dates and use functions of the calendar picker itself.
If you are still having issues, check again that all the contribution files have been uploaded to the correct folder and that the file permissions are in line. Quite a number of people have downloaded and successfully installed this mod, and usually with the symptoms you're experiencing, double checking the files and stuff usually gets them on track.
Re: Order Delivery Date Support Thread
Quote:
Originally Posted by
FoodDudes
Now my question is how can you display the date based off your server and not the workstation?
Which date are you referring to? The date that shows up on the shipping page in the popup calendar? The date on the orders page in the admin?..
Re: Order Delivery Date Support Thread
Quote:
Originally Posted by
mrmeech
Which date are you referring to? The date that shows up on the shipping page in the popup calendar? The date on the orders page in the admin?..
I am referring to the start date in the calender on the shipping page. If the date on you workstation is incorrect the start date is incorrect. I would like to know where I can change the date to be based off the server date, not the workstations date
Thanks
Re: Order Delivery Date Support Thread
Quote:
Originally Posted by
mrmeech
Ok - i took a look.
I think your approach with editing the English.php file is not the best of ideas (partially because it's a core file).
The date on the checkout_shipping page where the dropdown calendar is, cannot be varied. That one HAS to show in the Y-m-d format or else it will not get inserted into the database in the right format and the date will be wrong.
Aside from that, once you're past that page you should be able to echo out the date in whatever format you want - and you can configure this on includes/templates/YOUR-TEMPLATE/tpl_checkout_confirmation_default.php
As for altering the email delivery date formatting, you need to look in the monster order.php file which lives inside includes/classes. Look around line 900~940-ish. (I think there might be another spot somewhere in that file that needs email editing too but i don't ahve the time to dig for it right now)..
That should put you on a pretty good track.
I am wanting to do the same thing and get the delivery date in the confirmation email to be in the style of like "Monday 16 February, 2009"
in the order.php file I tried changing
Code:
$html_msg['EMAIL_TEXT_DELIVERY_DATE'] = EMAIL_TEXT_DELIVERY_DATE . ' ' . zen_db_output($this->info['order_delivery_date']);
to
Code:
$html_msg['EMAIL_TEXT_DELIVERY_DATE'] = strftime(DATE_FORMAT_LONG);
but his did not work. Can anyone help?