X-Cart: shopping cart software

X-Cart forums (https://forum.x-cart.com/index.php)
-   Changing and adding new features (https://forum.x-cart.com/forumdisplay.php?f=20)
-   -   My Account Login (https://forum.x-cart.com/showthread.php?t=10141)

elabdesigns 11-01-2004 06:34 AM

My Account Login
 
At one time I remember someone posting a topic with a way to make a "My account Login" link, that sent you to a login form, verses having the login authbox on the side menu.

Does anyone know that toppic thread or now how I can do this?

Thanks

mffowler 11-14-2004 06:29 AM

Login on separate "My Account" page
 
Elab,

Here's what I have done:

1. Create a new template in the skin1/Help direcetory and call it Login.tpl. Put the following code in it, note the (3) template files that it referrences - they are customizations of the respective files, minus the "_mod" would equal the original template. Also, there are some languages that I used: see {$lng.txt_login_header_1} etc. for the Login.tpl:

Code:

{* $Id: Login.tpl,v 1.0 2004/11/14 16:03:50 mclap Exp $ *}
{$lng.txt_login_header_1}
{capture name=dialog}
{if $login eq "" }
<TABLE width="100%" cellpadding="0" cellspacing="0" border="0">
<TR><TD>{$lng.txt_login_header_2}</TD></TR>
<TR>
<TD>{ include file="auth_mod.tpl" }</TD>
</TR>
</TABLE>
{else}
<TABLE width="100%" cellpadding="0" cellspacing="0" border="0">

<TR>
<TD width="50%">{ include file="menu_profile_mod.tpl" }</TD>
<TD width="50%">{ include file="authbox_mod.tpl" }</TD>
</TR></TABLE>
{/if}
{/capture}

{include file="dialog.tpl" title=$lng.lbl_login_account content=$smarty.capture.dialog extra="width=100%"}

In order to referrence this page, you'll need to create referrences to it in the Help/index.tpl. Add something like the following and change whatever is currently the "if" section to be an "elseif":

Code:

{if $section eq "Login"}
{include file="help/Login.tpl"}

{elseif $section eq "Login_message"}
{include file="help/Login_message.tpl"}

{elseif $section eq "Login_error"}
{include file="help/Login.tpl"}


By doing the last step, you will be able to call the Login page as: http://yourdomain.com/xcart/help.php?section=Login

Now what about the three templates referrenced as: auth_mod.tpl, menu_profile_mod.tpl and authbox_mod.tpl? They should all be located in the root skin1 directory, like their original files that I have modified.

First create additional templates with three names (like my "_mod" extension for the modified template) or some variation of the original templates, but be sure to change the name respectively in the created Login.tpl.

Now, what do you put in the three _mod files? Well, for starters, you'll need to modify the code to take it out of a menu template with the boxes and borders. I have made some additional changes to get the new templates to fit the new format and I'll put the files below. Keep in mind, you may need to adjust some of the html to get your desired table widths and check the "languages" referrenced. I created new language varaibles, like lng.txt_login_header_1 and others, so be sure to either use the original template variable or create a variable to your liking.

My three modified files are below, use them, tweak them as you wish. They are only a good starting point as I created them to fit within my site framework. I know that they will at least get you started.

For file auth_mod.tpl, insert the code:
Code:

{* $Id: auth_mod.tpl,v 1.39 2004/06/28 11:38:38 mclap Exp $ *}
{capture name=menu}
<TABLE border="0" cellpadding="0" cellspacing="1" width="100%">
{if $config.General.use_https_login eq "Y"}

{assign var="form_url" value=$https_location}
{else}
{assign var="form_url" value=$current_location}
{/if}
<FORM action="{$form_url}/include/login.php" method="post" name="authform">
<INPUT type="hidden" name="{$XCARTSESSNAME}" value="{$XCARTSESSID}">
{if $config.General.use_secure_login_page eq "Y"} {* use_secure_login_page *}
<TR>
<TD>
{if $usertype eq "C"}
{assign var="slogin_url" value=$catalogs_secure.customer}
{elseif $usertype eq "P" and $active_modules.Simple_Mode eq "Y" or $usertype eq "A"}
{assign var="slogin_url" value=$catalogs_secure.admin}
{elseif $usertype eq "P"}
{assign var="slogin_url" value=$catalogs_secure.provider}
{elseif $usertype eq "B"}
{assign var="slogin_url" value=$catalogs_secure.partner}
{/if}
{include file="buttons/secure_login.tpl"}
</TD>
</TR>
{else} {* use_secure_login_page *}

<TR>
<TD>

<TABLE width="100%" border="0" align="right">
        <TR><TD align="right">{$lng.lbl_username}</TD><TD align="left"><INPUT type="text" name="username" size="16" value="{#default_login#}"></TD></TR>

        <TR><TD align="right">{$lng.lbl_password}</TD><TD align="left"><INPUT type="password" name="password" size="16" value="{#default_password#}">
<INPUT type="hidden" name="mode" value="login">
{if $active_modules.Simple_Mode ne "" and $usertype ne "C" and $usertype ne "B"}
<INPUT type="hidden" name="usertype" value="P">
{else}
<INPUT type="hidden" name="usertype" value="{$usertype}">
{/if}
<INPUT type="hidden" name="redirect" value="{$redirect}"></TD></TR>

<TR>
<TD height="50"></TD>
<TD height="50" align="left">



{if $js_enabled}
{include file="buttons/login_menu.tpl"}[img]{$ImagesDir}/resources/dot_clear.gif[/img]{else}
{include file="buttons/login_menu.tpl"}
{/if}
{/if} {* use_secure_login_page *}
{if $usertype eq "C" or ($usertype eq "B" and $config.XAffiliate.partner_register eq "Y")}
{include file="buttons/create_profile_menu.tpl"}
{/if}
</TD>
</TR>

{if $login eq ""}
<TR>
<TD></TD>
<TD height="24" nowrap align="left">
{$lng.lbl_recover_password}
</TD>
</TR>
{/if}
</TD></TR></TABLE>

{if $usertype eq "P" and $active_modules.Simple_Mode eq "Y" or $usertype eq "A"}

<TR>
<TD colspan="2">


<DIV align="left">{$lng.lbl_insecure_login}
</DIV>
</TD>
</TR>

{/if}
{if $usertype eq "C"}
<TR>
<TD align="right" colspan="2">


{if $js_enabled}
{$lng.txt_javascript_disabled}
{else}
{$lng.txt_javascript_enabled}
{/if}
</TD>
</TR>
{/if}
</FORM>
</TABLE>
{/capture}
{ include file="menu_mod.tpl" menu_title=$lng.lbl_authentication menu_content=$smarty.capture.menu }


In the menu_profile_mod.tpl file, you'll need to remove the menu look that was originally used in the column-menu design. Also, you will see three language texts added: {$lng.txt_menu_profile_option1}, {$lng.txt_menu_profile_option2} and {$lng.txt_menu_profile_option3}. These show up in "My Account" after the user has logged in. I created the language text to say the following: {$lng.txt_menu_profile_option1} = "Change your password, billing or shipping addresses." {$lng.txt_menu_profile_option2} = "Need to remove or delete your current profile?" and {$lng.txt_menu_profile_option3} = "View, print or modify your (Company Name) orders." So change accordingly.

Here's my menu_profile_mod.tpl file:
Code:

{* $Id: menu_profile_mod.tpl,v 1.23 2004/06/24 09:53:29 max Exp $ *}
{capture name=menu}
<TABLE width="85%" align="center" border="0">
<TR><TD>
{include file="buttons/button_vunc.tpl" button_title=$lng.lbl_modify_details href="register.php?mode=update"}

 {$lng.txt_menu_profile_option1}


{include file="buttons/button_vunc.tpl" button_title=$lng.lbl_delete_profile href="register.php?mode=delete"}

 {$lng.txt_menu_profile_option2}


{if ($usertype eq 'A' || ($usertype eq 'P' && $active_modules.Simple_Mode)) && $is_merchant_password eq 'Y'}
{$lng.lbl_change_mpassword}

{/if}
{if $usertype eq "C"}
{include file="buttons/button_vunc.tpl" button_title=$lng.lbl_orders_history href="orders.php"}

 {$lng.txt_menu_profile_option3}


{if $user_subscription ne ""}
{include file="modules/Subscriptions/subscriptions_menu.tpl"}</A>

{/if}
{/if}
</TD></TR></TABLE>
{/capture}
{ include file="menu_mod.tpl" menu_title=$lng.lbl_your_profile menu_content=$smarty.capture.menu }

Last, but not least - in the created authbox_mod.tpl file:
Code:

{* $Id: authbox_mod.tpl,v 1.23 2004/06/24 09:53:29 max Exp $ *}
{capture name=menu}
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
<FORM action="{$xcart_web_dir}/include/login.php" method="post" name="loginform">
<TR>
<TD></TD>
<TD valign="top">
<h1>{$login}{$lng.txt_logged_in}</h1>


{if $js_enabled}
{include file="buttons/logout_menu.tpl"}


{else}
{include file="buttons/logout_menu.tpl"}


{/if}


</TD>
</TR>
{if $usertype eq "C"}
<TR>
<TD colspan="2" align="right">


{if $js_enabled}
{$lng.txt_javascript_disabled}
{else}
{$lng.txt_javascript_enabled}
{/if}
</TD>
</TR>
{/if}
<INPUT type="hidden" name="mode" value="logout">
<INPUT type="hidden" name="redirect" value="{$redirect}">
</FORM>
</TABLE>
{/capture}

{include file="menu_mod.tpl" menu_title=$lng.lbl_authentication menu_content=$smarty.capture.menu}

That should do it! If you follow all of these directions, you will be working with modified template files and your original ones will be unharmed (If not, be sure to backup prior to doing any modification). You can now add a speed bar link or other to "My Account" with the URL: help.php?section=Login

Let me know if you have any problems. This works well for me and I have referrenced in the functionality for the user to return to "My Account" at any time to Modify/Delete their profile, search for orders and of course Login/Logout. If anyone has any improvements of this work, I would love to see them here! Nothing is ever finished.

This is just one step that I have done to get the clunky X-Cart style menus reduced to their core: Products, products and products - that's all that should be in the category/side menus. Additional functionality should be achieved by using headers, footers and a good site map. The best way to prevent users from getting lost in your web city is just to take them their to begin with ...

- Mike

clubsrefinished 12-22-2004 03:35 AM

mffowler,

This looks like a great mod which I have almost got to work on my site except within your 'menu_profile_mod.tpl' you include the following

file="buttons/button_vunc.tpl"

I am assuming that this is also a modified file or is calling a file that you have previously amended but unfortunately is not listed within your extensive expanations above.

Can you please advise what is included within this file or what .tpl your button_vunc is based upon.

Look forward to your response. :wink:

mpcommercial 12-24-2004 06:30 AM

I am also interested in this solution! So far, I implemented the MOD and I am able to log in and create an account correctly, but once I am logged in, I obtain the following error if I try to view the /help.php?section=Login:

Warning: Smarty error: unable to read template resource: "menu_profile_mod.tpl" in /home/lapislaz/public_html/store/Smarty-2.5.0/Smarty.class.php on line 1042

Warning: Smarty error: unable to read template resource: "authbox_mod.tpl" in /home/lapislaz/public_html/store/Smarty-2.5.0/Smarty.class.php on line 1042

eaglemobiles 01-06-2005 08:35 PM

Re: Login on separate "My Account" page
 
I get this error. Warning: Smarty error: unable to read resource: "menu_mod.tpl" in /hsphere/local/home/eaglemob/eaglemobiles.co.uk/e-shop/Smarty-2.6.3/Smarty.class.php on line 1082

Thanks

zefon 01-08-2005 03:36 AM

I did this using a different approach. I just have a link to the following in my header and it works fine:

store/customer/secure_login.php?

mpcommercial 01-12-2005 08:13 AM

I was able to solve the eroor I was getting: all this was because I use ?Login instead of ?login! I sometimes forget that X-cart is case sensitive.

Now, a question: How would I display "user logged in !" message, along with the Logoff buttom, one a customer is logged in? Where do you recommend displaying this message? Ussually, it can be found right inside the menu we are trying to eliminate. 8)

Regards,

Lorena

jdedba 01-24-2005 07:57 PM

Good mod. Thanks.

Code:

{include file="menu_mod.tpl" menu_title=$lng.lbl_authentication menu_content=$smarty.capture.menu}

In 4.0.11, menu_mod.tpl should be menu.tpl.

mpj 02-16-2005 08:36 AM

once logged in, i get these error:
Code:

Warning: Smarty error: unable to read resource: "buttons/button_vunc.tpl" in ****** on line 1082

Warning: Smarty error: unable to read resource: "buttons/button_vunc.tpl" in ****** on line 1082

Warning: Smarty error: unable to read resource: "buttons/button_vunc.tpl" in ****** on line 1082


What is this "buttons/button_vunc.tpl" ?

Please advise.

Thanks for a great mod !

mpj 02-16-2005 09:01 AM

sorry :lol:

i just changed it to " buttons/button.tpl " and realized what a dumb mistake I have made.

that was just the buttons image :)


thanks again for a great mode.


All times are GMT -8. The time now is 07:54 AM.

Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.