Jump to content

Petite bizarrerie sur le code smarty pour la connexion


Kevlarbox

Recommended Posts

J'ai remarqué qu'après plusieurs clics sur l'URL de connexion, celle ci se duplique, ce qui entraîne une accumulation du paramètre back.
Normalement, cette URL permet au client de revenir sur la dernière page consultée après s'être connecté, mais à cause de cette duplication, elle devient de plus en plus longue et problématique, coté navigateur  : 

<div class="user-info">
          <a href="https://ps8.demo-prestashop.fr/connexion?back=https%3A%2F%2Fps8.demo-prestashop.fr%2Fconnexion%3Fback%3Dhttps%253A%252F%252Fps8.demo-prestashop.fr%252Fconnexion%253Fback%253Dhttps%25253A%25252F%25252Fps8.demo-prestashop.fr%25252Fconnexion%25253Fback%25253Dhttps%2525253A%2525252F%2525252Fps8.demo-prestashop.fr%2525252Fconnexion%2525253Fback%2525253Dhttps%252525253A%252525252F%252525252Fps8.demo-prestashop.fr%252525252Fconnexion%252525253Fback%252525253Dhttps%25252525253A%25252525252F%25252525252Fps8.demo-prestashop.fr%25252525252Ffemmes%25252525252F2-9-brown-bear-printed-sweater.html" title="Identifiez-vous" rel="nofollow">

Ma solution, j'ai ajouté une variable pour faire le tri et retenir que la dernière interaction que le client retrouvera dans ps_customersignin.tpl à la place de {$urls.pages.authentication}?back={$urls.current_url|urlencode} par {$auth_url} ce qui donnera

{if $urls.current_url|strpos:'valid=' === false}
  {assign var="auth_url" value="{$urls.pages.authentication}?back={$urls.current_url|urlencode}&valid=1"}
{else}
  {assign var="clean_url" value=$urls.current_url|urldecode}
  {assign var="last_back_url" value=$clean_url|regex_replace:'/.*[?&]back=([^&]+).*/':'\1'}
  {assign var="auth_url" value="{$urls.pages.authentication}?back={$last_back_url|urlencode}&valid=2"}
{/if}

   <a
        href="{$auth_url}"
        title="{l s='Log in to your customer account' d='Shop.Theme.Customeraccount'}"
        rel="nofollow"
      >

 

Link to comment
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
×
×
  • Create New...