Jump to content

[classe] Identification obligatoire des visiteurs


math_php

Recommended Posts

Bonjour,

 

Le code oblige les visiteurs à s'incrire sur le site avant de pouvoir voir le reste du site.

Par contre pour le référencement ne l'utilisez pas, il faudrait pouvoir distinguer les robots et les visiteurs.

 

L'override ci dessous est à placer dans override/classes/FrontController.php (attention si ce fichier existe déjà faite une copie et faite un ajout manuel du code )

 

<?php
class FrontController extends FrontControllerCore
{
public function init(){
	$cookie = new Cookie('ps');

	if ($this->php_self !=='authentication.php' &&  $this->php_self !=='password.php' && !$cookie->isLogged($this->guestAllowed)){
		$this->auth=true;	   //
	}
	parent::init();
}

}

 

Voilà si ça peut servir. Si c'est mauvais n'hésitez pas non plus :)

Edited by math_php (see edit history)
Link to comment
Share on other sites

  • 3 weeks later...

Hep,

 

Ça fonctionne bien aussi chez moi. A voir aussi si fonctionnel sur la 1.5 maintenant(mais normalement oui..).

 

Sinon avant j'avais overridé tous les controllers en mettant ce code dans le préprocess :

 

 

class StoresControllerCore extends StoresController
{
public function preProcess()
{
parent::preProcess();
if (!self::$cookie->isLogged())
{
Tools::redirect('my-account.php');
}
}
}

Link to comment
Share on other sites

  • 3 months later...

Salut, j'ai utilisé un code similaire a celui-ci pour une seule page seulement:

le visiteur ne peut voir la page que s'il est authentifié.

Cependant, une page avec un lien vers l'authentification s'affiche, et je voudrai savoir quel moyen faut-il utilisé pour que la redirection se fasse automatiquement vers la page authentification ?

Link to comment
Share on other sites

  • 7 months later...

Dans la 1.5, le code génère une boucle de redirection.

 

$this->php_self de la page d'authentification correspond à "authentication" et non "authentication.php"

<?php
class FrontController extends FrontControllerCore
{
	public function init(){
		$cookie = new Cookie('ps');
	  
		if ($this->php_self !=='authentication' &&  $this->php_self !=='password' && !$cookie->isLogged($this->guestAllowed)){
			$this->auth=true;	   //
		}
		parent::init();
	}

}

Merci pour le partage! Le module se vend 50$.

 

Salutations,

 

UltraLimitem

Edited by UltraLimitem (see edit history)
Link to comment
Share on other sites

  • 2 years later...

Bonjour,

 

Le code fonctionne bien mais je dois cliquer deux fois pour accéder aux informations de mon compte

Qu'ai je oublié ?

Merci par avance

 

<?php
class FrontController extends FrontControllerCore
{
    public function init(){
        $cookie = new Cookie('ps');                
        if ($this->php_self !=='authentication' && $this->context->shop->id == 2)
                $this->auth = true;
        parent::init();
    }
}

Link to comment
Share on other sites

  • 1 year later...

Bonjour,

 

si vous cherchez une méthode rapide d'intégration voici un module répondant à vos attentes et laissant les moteurs de recherches scanner votre site pour lé référencement : http://www.prestatoolbox.fr/securite/200-privatisez-votre-boutique.html

 

Bonjour, 

 

Merci pour votre retour rapide.

Par contre j'aimerais que l'inscription soit obligatoire mais réservé aux pro. Avec donc une demande d'accès à valider à la main ainsi qu'un champs SIRET obligatoire lors de l'inscription.

 

Link to comment
Share on other sites

  • 1 month later...

Le champ "SIRET" (et d'autres) vont s'ajouter au formulaire d'inscription si vous activez le mode B2B de Prestashop.

 

En revanche le fait que les nouveaux comptes soient créés inactifs va demander l'adaptation du AuthController.php (en override de préférence).

Dans ce travail d'adaptation il est recommandé de créer une page CMS qui expliquera au client que son compte est en attente d'activation et de s'en servir comme page de redirection après inscription.

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...