2016-09-11 2 views
0

Je testais le système d'enregistrement du compte utilisateur.CS-Cart - Modifier l'URL de connexion dans l'e-mail de notification

Lorsque de nouveaux utilisateurs s'inscrivent pour des comptes, ils reçoivent un e-mail de notification. Le courrier électronique, par défaut, inclut cette ligne:

Login URL: http://mystore.com/ 

Le problème est que ce n'est pas l'URL de connexion. L'URL de connexion est http://mystore.com/login/

L'URL semble être générée par cette ligne dans le modèle de courrier électronique (profiles_info.tpl):

Mais je ne comprends pas comment fonctionne fn_url (il ne semble pas être n'importe quelle documentation). Alors, comment puis-je corriger l'URL de connexion - ou quelle serait la meilleure façon de le faire?

Répondre

0

cette fonction définit dans /app/functions/fn.common.php

/** 
* Prepares parameters before building URL 
* 
* @param string $url   URN (Uniform Resource Name or Query String) 
* @param string $area   Area ('A' - admin or 'C' - client) 
* @param string $protocol  Output URL protocol (protocol://). If equals 'rel', no protocol will be included 
* @param string $lang_code  2 letters language code 
* @param bool $override_area 
* @return bool Always true 
*/ 

changement:

{if $user_data.company_id}{"?company_id= user_data.company_id $ "|fn_url:'C':'http'}{else}{""|fn_url:'C':'http'}{/if}

à ceci:

{''|fn_url:'C':'http'}login/

+0

fonctionne très bien! Je vous remercie! – Phll

0

Le journal dans l'URL dans CS-Cart peut être généré de cette façon: fn_url("auth.login_form"). Le contrôleur d'authentification gère l'authentification, dans ce contrôleur, il y a un mode login_form, qui affichera l'écran de connexion pour l'utilisateur.

Si vous souhaitez afficher le lien dans un modèle Smarty, vous pouvez utiliser le code suivant: {"auth.login_form"|fn_url}. C'est le bon moyen, pour lier le formulaire de connexion, car si vous codez en dur le /login/ dans le modèle, et plus tard vous souhaitez utiliser une URL différente pour la connexion, ou vous voulez utiliser des URL SEO multilingues, va échouer.

Ainsi, le code correct dans le modèle e-mail ressemblera à ceci:

{if $user_data.company_id}{"auth.login_form?company_id=`$user_data.company_id`"|fn_url:'C':'http'}{else}{"auth.login_form"|fn_url:'C':'http'}{/if}