![]() |
Hi Jon you gave me the code to remove the pic at "checkout" and the code you done for someone else so its all on one line, i do think its much better, but what i would like is to keep the picture but made much smaller, but keep the look so that it appears all on one line.
I must admit its easier when i buy my stock online at checkout you can visually see what you've brought, but the orginal code made the picture really big. could you modify the code for me so it will do this, ive posted the code below that ive got at the moment, also i wasn't planing on going live untill after christmas, but having 2 sites going hopefully will pull more money in. Should have the money in my paypal tomorrow, so i will pm you and get things sorted out tomorrow. Thanks for your help Dean {* $Id: cart.tpl,v 1.74.2.2 2004/08/11 09:46:01 max Exp $ *} <H3>{$lng.lbl_your_shopping_cart}</H3> {$lng.txt_cart_header} {if $active_modules.Gift_Certificates ne ""} {$lng.txt_cart_note} {/if} {capture name=dialog} {if $products ne ""} <FORM action="cart.php" method="post" name="cartform"> <TABLE border="0" cellpadding="0" cellspacing="0" width="100%"> <TR class="HeadLine"> <TD class="HeadLine">{$lng.lbl_item_checkout}</TD> <TD class="HeadLine">{$lng.lbl_options_checkout}</TD> <TD class="HeadLine">{$lng.lbl_price_checkout}</TD> <TD></TD> </TR> {section name=product loop=$products} {if $products[product].hidden eq ""} <TR> <TD>{$products[product].product} </TD> <TD> {if $products[product].product_options ne ""} {foreach from=$products[product].product_options item=v} {$v.class}: {$v.option_name} {/foreach} {/if}</TD> <TD width="43%"> {assign var="price" value=$products[product].display_price} {if $active_modules.Product_Configurator ne "" and $products[product].product_type eq "C"} {include file="modules/Product_Configurator/pconf_customer_cart.tpl" main_product=$products[product]} {assign var="price" value=$products[product].pconf_display_price} {/if} <DIV align="left"> {if $active_modules.Subscriptions ne "" and $products[product].catalogprice and $products[product].product_type ne "C"} {include file="modules/Subscriptions/subscription_priceincart.tpl"} {else} {include file="currency.tpl" value=$price} x {if $active_modules.Egoods and $products[product].distribution}1<INPUT type="hidden"{else} <INPUT type="text" size=3{/if} name="productindexes[{$products[product].cartid}]" value="{$products[product].amount}"> ={math equation="price*amount" price=$price amount=$products[product].amount format="%.2f" assign=unformatted}{include file="currency.tpl" value=$unformatted} {include file="customer/main/alter_currency_value.tpl" alter_currency_value=$unformatted} {if $config.Taxes.display_taxed_order_totals eq "Y" and $products[product].taxes}{include file="customer/main/taxed_price.tpl" taxes=$products[product].taxes} {/if} {/if} </TD> <TD>{include file="buttons/delete_item.tpl" href="cart.php?mode=delete&productindex=`$products [product].cartid`"} {if $products[product].product_options ne ''} {include file="buttons/edit_product_options.tpl" href="javascript:window.open('`$catalogs.customer` /popup_poptions.php?target=cart&id=`$products[product].cartid`','POptions','width=400,height=350,toolbar =no,status=no,scrollbars=yes,resizable=no,menubar= no,location=no,direction=no');"} {/if}</DIV> </TD> </TR> <TR> <TD colspan="2"></TD> <TD colspan="2"></TD> </TR> {/if} {/section} <TR><TD colspan=4><HR size="1" noshade></TD></TR> </table> {if $active_modules.Gift_Certificates ne ""} {include file="modules/Gift_Certificates/gc_cart.tpl" giftcerts_data=$cart.giftcerts} {/if} {include file="customer/main/cart_totals.tpl"} {if $js_enabled} <TABLE border="0" cellpadding="0" cellspacing="0" width="100%"> <TR> <TD> {include file="buttons/update.tpl" type="input" href="javascript: document.cartform.submit()" js_to_href="Y"} {include file="buttons/button.tpl" button_title=$lng.lbl_clear_cart href="cart.php?mode=clear_cart"} </TD> <TD align="right"> {include file="buttons/button.tpl" button_title=$lng.lbl_checkout style="button" href="cart.php?mode=checkout"} </TD> </TR> </TABLE> {else} <INPUT type="hidden" name="mode" value="checkout"> {include file="submit_wo_js.tpl" value=$lng.lbl_checkout} {/if} </FORM> {else} {$lng.txt_your_shopping_cart_is_empty} {/if} {/capture} {include file="dialog.tpl" title=$lng.lbl_items content=$smarty.capture.dialog extra="width=100%"} {if $cart.coupon_discount eq 0 and $products ne ""} {if $active_modules.Discount_Coupons ne ""} {include file="modules/Discount_Coupons/add_coupon.tpl} {/if} {/if} |
Here's a 4.0.7 upgrade hint for everyone using this mod that started before 4.0.7.
Provided you don't have any other mods installed on these file. Even if you do, I still suggest you reinstall them on the new files. Take register.php out of the full software distributive at your file area at x-cart. Place it in /xcart_dir/include/. It does not need to be modded. Take login.php out of the full software distributive at your file area at x-cart. Mod it per Jon's instructions. However use the code below. Code:
Find: Place it in /xcart_dir/include/. Take cart.php out of the full software distributive at your file area at x-cart. Mod it per Jon's instructions. Place it in /xcart_dir/. Trust me that it is a whole bunch easier to do it this way then to attempt to manually apply the upgrade dif files. |
Hi Jon have sent you a pm, regarding checkout mod, cheers dean
|
jon have sent you a pm, just a small problem with checkout mod if you can advise please, thanks Dean
|
new checkout
Hi all, just installed Jon's new checkout with some help off Jon.
(me not installing correctly) really pleased excellent improvment to xcarts orginal cart, xcart should buy this mode from jon and implement it. Much needed improvment, well worth the money.. |
Re: new checkout
Quote:
It's a great product. We are planning to go live with this next week. It seems X-Cart are already planning to implement something similiar in future according to Jon himself in a reply he sent.. Quote:
Great Mod Jon.. And great support to go with it. Cheers. |
For those of your who have purchased marketing manager pro bundle, please remember to add the traffic monitor code to the easy check out pages if you are using the simplified version of easy checkout.
I.e if your easy checkout does not have your normal header/menu parts from home.tpl, then you need to add the tracking code to the cart.php pages too. Thanks |
Thanks Groovico. I thought about that the other day and promptly forgot again. #-o
On my work list now! :wink: |
For marketing manager you can simply add the tracking code to skin1/customer/home_checkout.tpl
|
Funnily enough i thought about that a couple of days ago and implemented, funny how minds think alike.
|
Jon, do you know how i would go about this.
in my register.tpl i already have a message for those who have not logged in yet for example Already registered?? Quote:
Now that works fine on the normal customer registration (i have the customer login and customer registration on the same page in two different tables) , but when it comes to the checkout login/regitration the texts are basically doubled up as there is text at the top which basically says the same thing how do I hide MY text if the customer is on the checkout pages i thought this Code:
{if $main ne "cart"}<tr> and also changed "cart" to "checkout" to see if that worked but not luck Any ideas? |
Try using:
{if $mode ne "checkout"} SHOW MY TEXT HERE {/if} |
Jon,
You get my PM? -=A=- |
Quote:
Worked a treat, cheers once again |
Step 8 --- Open "/include/register.php"
My file looks like this: Code:
elseif ($action == "cart") { |
On 4.0.8 you won't have to edit the register.php
Due to the upgrades of 4.0 the install instructions need to be updated. Sorry for any difficulties. If you have problems let me know and I will be happy to assist you. |
Those who would like an updated .zip file please PM me your order # and email address.
Those who ordered from BCSE or from Firetank will need to contact them for the updated .zip so they can verify your order. |
https for whole checkout process from login/reg screen ?
Hi Jon,
I bought this Mod and it's great =D> worth every penny! Its a live 3.5.7 site - I have made some changes to include a checkout journey graphic, and moved the shipping details out of registration to the payment screen (which works quite well) - see www.newcrowd.com The one thing that I have been asked to do from visiting customers is make the whole chekout process https (from the login/registration screen onwards. This would give them a warm secure feeling right from the start so they don't back out before the secure stuff kicks in. Currently checkout moves into https on the payment screen anyway as I have 'enable https for registraions and checkout' checked. I thought this would be an easy update of the href link for the checkout buttons, but it seems like even hardcoding the checkout link to https the cart seems to revert it back to http. 8O I'm bit baffled by this one and must be missing something big time so any pointers would be greatly appreciated. Cheers for now, John |
A satisfied customer
Hi, I've just bought Jon's mod and have to add my voice to the chorus of approval. My purchase was prompted by looking at my cart conversion funnel and noticing that for every 100 people that started a cart only 20 made it to completion - worse than that, for every 30 that made it to step 3 only 10 of them actually managed to place an order. That's something of a disaster and speaks volumes about the clunkiness and non-intuitiveness of the X-Cart default system. I must admit that I never had a problem myself with the default cart but I am used to buying online, for a newcomer it must have been very puzzling.
The install of the mod was straightforward, and now that it is live it not only looks better but it seems a hell of a lot quicker as well. The thing I like most is the way it effectively takes you out of the store while you checkout so you are not being distracted by other things that you might be buying from the side menus. This concentrates the customers mind on checking out and drags him through it in an intuitive manner. This is an unreserved recommendation - if you're sitting on the fence go and buy it. Thanks Jon, you're a star! |
Easy Checkout rocks hands down. I get compliments on how efficient it is, even from long time customers who didn't have a problem with the default X-Cart checkout system.
My conversion rate has gone up 25% and there are less abandoned carts. Is it worth the money? Ask yourself if you can afford to NOT have it. |
Re: https for whole checkout process from login/reg screen ?
Thanks for the positive feedback, I'm glad that you find the checkout to be useful and am happy to hear about your returns on investment.
If there's anything you'd like to see additional to the checkout process, such as the recommends tab I will be finishing (hopefully sometime in the near future) I would be glad to hear them. Quote:
I'm sorry to say that I don't know what the problem is off hand. In my store at mixtapemp3 I have my https directory symlinked to my http directory, and I can access the cart interchangably with http and https. I notice in your store you can't even load the https when you put this into the browser. https://www.newcrowd.com/customer/cart.php It looks like it redirects it to the http automatically, which leads me to believe this has something to do with the way your handling https. If your using mod rewrite for example, you may want to look at your rule set. Hope that helps. |
Not sure what was going on, I got my ISP to reload the cert and all seems to be O.K. again - trouble is they never tell you exactly what they did to fix it.
Anyway thanks for your help - great mod! John |
I just did mine for 4.0.8 and the only way I could keep from gettings errors was not to mod the login or the register.
I hope it keeps working. Would also like a continue shopping button at the bottem of all the checkout pages......... |
With 4.0.8 you won't have to modify the register.php.
If you PM me your ftp details I will mod your login.php for you. Or if you post up the contents of your login.php I will provide you a new login.php you can upload. |
My Login.php Maybe this way it will help others...........
# # $Id: login.php,v 1.86.2.5 2004/09/20 10:08:12 max Exp $ # @include "../top.inc.php"; if (!defined('XCART_START')) die("ERROR: Can not initiate application! Please check configuration."); require $xcart_dir."/config.php"; x_session_register("login"); x_session_register("login_type"); x_session_register("logged"); x_session_register("previous_login_date"); x_session_register("login_attempt"); x_session_register("cart"); x_session_register("intershipper_recalc"); x_session_register("extended_userinfo"); x_session_register("merchant_password"); $merchant_password = ""; $login_error = false; switch ($redirect) { case "admin": $redirect_to = DIR_ADMIN; break; case "provider": $redirect_to = DIR_PROVIDER; break; case "partner": $redirect_to = DIR_PARTNER; break; case "customer": default: $redirect_to = DIR_CUSTOMER; } $redirect_to = $current_location.$redirect_to; if ($REQUEST_METHOD == "POST") { $intershipper_recalc = "Y"; if ($mode == "login") { $username = $HTTP_POST_VARS["username"]; $password = $HTTP_POST_VARS["password"]; $user_data = func_query_first("SELECT * FROM $sql_tbl[customers] WHERE login='$username' AND usertype='$usertype' AND status='Y'"); $allow_login = true; if ($usertype == 'A' || ($usertype == "P" && $active_modules["Simple_Mode"])) { $iplist = array_unique(split('[ ,]+', $admin_allowed_ip)); $iplist = array_flip($iplist); unset($iplist[""]); $iplist = array_flip($iplist); if (count($iplist) > 0) $allow_login = in_array($REMOTE_ADDR, $iplist); } if (!empty($user_data) && $password == text_decrypt($user_data["password"]) && !empty($password) && $allow_login) { # # Success login # x_session_register("login_change"); if ($user_data["change_password"] == "Y") { $login_change["login"] = $user_data["login"]; $login_change["login_type"] = $usertype; func_header_location($redirect_to."/change_password.php"); } x_session_unregister("login_change"); $login = $user_data["login"]; //$username; $login_type = $usertype; $logged = ""; if ($usertype == "C") { x_session_register("login_redirect"); $login_redirect = 1; } # # 1) generate $last_login by current timestamp and update database # 2) insert entry into login history # $tm = time(); $previous_login_date = func_query_first_cell("SELECT last_login FROM $sql_tbl[customers] WHERE login='$login'"); if ($previous_login_date == 0) $previous_login_date = $tm; db_query("UPDATE $sql_tbl[customers] SET last_login='$tm' WHERE login='$login'"); db_query("REPLACE INTO $sql_tbl[login_history] (login, date_time, usertype, action, status, ip) VALUES ('$username','$tm','$usertype','login','success',' $REMOTE_ADDR')"); # # Merchant password # if (($usertype == 'A' || ($usertype == "P" && $active_modules["Simple_Mode"])) && $mpassword) { if ($config['mpassword'] == md5($mpassword)) { $merchant_password = $mpassword; } else { $merchant_password = ""; $wrong_merchant_password = true; } } unset($mpassword); # # Set cookie with username if Greet visitor module enabled # if (!empty($active_modules["Greet_Visitor"])) include $xcart_dir."/modules/Greet_Visitor/set_cookie.php"; # # If shopping cart is not empty then user is redirected to cart.php # Default password alert # if ($login_type == "A" || $login_type == "P") { $to_url = (!empty($active_modules["Simple_Mode"]) || $login_type == "A" ? $xcart_catalogs["admin"] : $xcart_catalogs["provider"])."/home.php"; $current_area = $login_type; include $xcart_dir."/include/get_language.php"; } $default_accounts = func_check_default_passwords($login); if (!empty($default_accounts)) { $current_area = $login_type; $txt_message = strip_tags(func_get_langvar_by_name("txt_your_pass word_warning_js")); $txt_continue = strip_tags(func_get_langvar_by_name("lbl_continue" )); $javascript_message =<<<JS <SCRIPT language='JavaScript'> alert('$txt_message'); self.location='$to_url'; </SCRIPT> $txt_message $txt_continue JS; } elseif ($usertype == "A" || !empty($active_modules["Simple_Mode"])) { $default_accounts = func_check_default_passwords(); if (!empty($default_accounts)) { $txt_message = strip_tags(func_get_langvar_by_name("txt_default_p asswords_warning_js", array("accounts"=>implode(", ", $default_accounts)))); $txt_continue = strip_tags(func_get_langvar_by_name("lbl_continue" )); $javascript_message =<<<JS <SCRIPT language='JavaScript'> alert('$txt_message'); self.location='$to_url'; </SCRIPT> $txt_message $txt_continue JS; } } if ($login_type == "C" && $user_data["cart"] && func_is_cart_empty($cart)) $cart = unserialize($user_data["cart"]); if ($login_type == "C" || $login_type == "B") { if (!func_is_cart_empty($cart)) { if(strpos($HTTP_REFERER, "mode=auth") === false) { func_header_location($redirect_to."/cart.php"); } else { func_header_location($redirect_to."/cart.php?mode=checkout"); } } elseif (!empty($HTTP_REFERER)) { if((strncasecmp($HTTP_REFERER,$http_location,strle n($http_location))==0 || strncasecmp($HTTP_REFERER,$https_location,strlen($ https_location))==0) && strpos($HTTP_REFERER,"error_message.php")===false && strpos($HTTP_REFERER,'secure_login.php')===false && strpos($HTTP_REFERER,".php")!==false) { func_header_location($redirect_to.strrchr($HTTP_RE FERER, "/")); } } func_header_location($redirect_to."/home.php"); } if ($wrong_merchant_password) { func_header_location ("error_message.php?wrong_merchant_password"); } if (($usertype == 'A' || ($usertype == 'P' && $active_modules["Simple_Mode"])) && $merchant_password) { $current_area = $usertype; func_data_recrypt(); } if (($config["General"]["default_pwd"] == "Y") and !empty($javascript_message) and $admin_safe_mode == false) { x_session_save(); echo $javascript_message; exit; } else { func_header_location($redirect_to."/home.php"); } } else { # # Login incorrect # $login_status = "failure"; if (!$allow_login) $login_status = "restricted"; if (!func_query_first("SELECT login FROM $sql_tbl[login_history] WHERE login='$username' AND date_time='".time()."'")) db_query("REPLACE INTO $sql_tbl[login_history] (login, date_time, usertype, action, status, ip) VALUES ('$username','".time()."','$usertype','login','$lo gin_status', '$REMOTE_ADDR')"); if ($redirect == "admin" || (@$active_modules["Simple_Mode"] == "Y" && $redirect == "provider") && $config['Email_Note']['eml_login_error'] == 'Y') { # # Send security alert to website admin # @func_send_mail($config["Company"]["site_administrator"], "mail/login_error_subj.tpl", "mail/login_error.tpl", $config["Company"]["site_administrator"], true); } # # After 3 failures redirects to Recover password page # $login_attempt++; if ($login_attempt >= 3) { $login_attempt = ""; func_header_location($redirect_to."/help.php?section=Password_Recovery"); } else func_header_location($redirect_to."/error_message.php?login_incorrect"); } } } if ($mode == "logout") { # # Insert entry into login_history # db_query("REPLACE INTO $sql_tbl[login_history] (login, date_time, usertype, action, status, ip) VALUES ('$login','".time()."','$login_type','logout','suc cess','$REMOTE_ADDR')"); $old_login_type = $login_type; $login = ""; $login_type = ""; $cart = ""; $extended_userinfo = ""; $access_status = ""; $merchant_password = ""; x_session_unregister("hide_security_warning"); } if ($old_login_type == 'C') { if (!empty($HTTP_REFERER) && (strncasecmp($HTTP_REFERER, $http_location, strlen($http_location)) == 0 || strncasecmp($HTTP_REFERER, $https_location, strlen($https_location)) == 0)) { if (strpos($HTTP_REFERER, "mode=order_message") === false && strpos($HTTP_REFERER, "returns.php") === false && strpos($HTTP_REFERER, "orders.php") === false && strpos($HTTP_REFERER, "giftreg_manage.php") === false && strpos($HTTP_REFERER, "order.php") === false && strpos($HTTP_REFERER, "register.php?mode=delete") === false && strpos($HTTP_REFERER, "register.php?mode=update") === false) { func_header_location($redirect_to.strrchr($HTTP_RE FERER, "/")); } } } func_header_location($redirect_to."/home.php"); ?> |
Please post inside of code tags.
Just highlight your text and click the Code formatting button. Makes it much easier to read. |
For 4.0.8 login.php
FIND: Code:
if (!func_is_cart_empty($cart)) { Replace with: Code:
if (!func_is_cart_empty($cart)) { |
Continue Shopping Button
Hi Jon, great service you're providing here - X-Cart should put you on the payroll.
Jmell asked about putting a 'Continue Shopping' button on the bottom of each checkout page on your cart mod. I would like that as well; I know a buyer can click on the top tabs, but it's not very intuitive. Also, I love the design of your emails - could you let us know where the style sheets are to modify the fonts? As standard the HTML emails are all over the place. Where did you place the code for your email footers? Sorry to be so demanding! :lol: Thanks in advance. |
|
To put a continue shopping button, you can place this code on your skin1/customer/home_checkout.tpl where you want it to appear.
What I did for my emails was edit: /skin1/mail/html/mail_header.tpl and /skin1/mail/html/signature.tpl That puts information above and below the actual emails.[/code] |
Quote:
What tracking code am I looking for here? Nothing in the home.tpl stands out to me as marketing manager code. |
Look for the track.js code.
|
Ok, I found it.
My track.js is referenced in bottom.tpl. It is called up in home.tpl using the { include file="rectangle_bottom.tpl" } tag. |
You'll probably have to add the track.js to skin1/customer/home_checkout.tpl also.
In your browser open up your cart.php with the ez checkout layout. View your source and see if it contains the track.js. If not added it to the file mentioned above. |
Nice mod Jon... I liked it so much, I built my own :wink: I don't need a tracking code or any of the other upgrades I've read in this thread though because I basically just rearranged the cart. I built it in v4.09 and it checks out in three steps. I wouldn't have had the inspiration if it wasn't for you though, thank you! :D
|
Do we get a preview before you live live GM :D
|
I am live... :wink:
|
Jon,
Purchased the mod today and I've followed all instructions. I am able to do an anonymous checkout with no problem but when I try to log in to complete an order I get this error (both from home.php login and checkout area: Parse error: parse error, unexpected T_ELSE in /usr/home/birdshop/public_html/xcart/include/login.php on line 204 I am using Version 4.0.5 and this is what my login.php looks like that I am supposed to change but it doesn't look the same as in the instructions. You have: if ($login_type == "C" || $login_type == "B") { if (!func_is_cart_empty($cart)) { func_header_location($redirect_to."/cart.php"); I have: if ($login_type == "C" || $login_type == "B") { if (!func_is_cart_empty($cart)) { if(strpos($HTTP_REFERER, "mode=auth") === false) { func_header_location($redirect_to."/cart.php"); Can you tell me what I need to change to make the login work for registered users? Please advise, Louise BirdShopper.com |
After reading back through the posts I found and tried this code for login.php and it works :)
if ($login_type == "C" || $login_type == "B") { if($redirect2 == "checkout") func_header_location($redirect_to."/cart.php?mode=checkout"); elseif (!func_is_cart_empty($cart)) { if((strpos($HTTP_REFERER, "mode=auth") === false) && (strpos($HTTP_REFERER, "mode=checkout") === false)) { func_header_location($redirect_to."/cart.php"); Thanks, Louise |
Just a public THANKS to Jon for coming to my aid!
Thanks again Jon! Louise http://www.birdshopper.com |
All times are GMT -8. The time now is 11:38 AM. |
Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.