Jump to content

Accés restreint aux categories


Recommended Posts

Bonjour, je relance un sujet auquel je n'ai pas trouver de réponses, je souhaite restreindre l'accès à certaines catégories de mon site, pour cela je souhaite utiliser le systéme de groupes, qui me semble être le meilleur moyen pour arriver à mes fins, je crée donc un groupe VIP qui sera le groupe des utilisateurs enregistrés, seulement existe il un moyen autre que manuel, d'attribuer un groupe au inscrits? sachant que le groupe par défaut concerne l'internaute lambda, non inscrit...
J'espère avoir été assez clair et j'espère que quelqu'un pourra m'aider sur ce problème qui m'empêche d'avancer depuis un moment déjà.
Merci d'avance!
Nico

Link to comment
Share on other sites

et comment un systeme informatique peut il determiner si ton client est a mettre dans un groupe ou non, si tu ne lui dis pas avant ou apres ???

Tu ne serait pas de ceux qui cherche un module pour mettre ta came dans le carton, puis qui l'amène a la poste automatiquement ?

Link to comment
Share on other sites

Je ne saisi pas vraiment le besoin que tu as de m'agresser, il semblerait donc que ma question n'est pas claire, je cherche justement à dire au "systéme informatique" que la personne qui s'enregistre appartient automatiquement au groupe VIP que j'aurais créé, et que par conséquent elle a accès aux catégories restreintes...

Link to comment
Share on other sites

Hello
si ton site n'est pas encore en prod (ou que tu as déjà modifié tes users à la main mais que tu ne souhaite plus modifier les suivants), tu peu modifier ceci :

/class/Customer.php

public function add($autodate = true, $nullValues = true)
   {
       $this->birthday = (empty($this->years) ? $this->birthday : intval($this->years).'-'.intval($this->months).'-'.intval($this->days));
       $this->secure_key = md5(uniqid(rand(), true));
       $this->last_passwd_gen = date('Y-m-d H:i:s', strtotime('-'.Configuration::get('PS_PASSWD_TIME_FRONT').'minutes'));
        $res = parent::add($autodate, $nullValues);
       if (!$res)
           return false;

       $row = array('id_customer' => intval($this->id), 'id_group' => 1);
       return Db::getInstance()->AutoExecute(_DB_PREFIX_.'customer_group', $row, 'INSERT');
   }



tu remplaces la valeur '1' (group par default) de 'id_group' avec la valeur de ton groupe VIP :

$row = array('id_customer' => intval($this->id), 'id_group' => 2 ); // par défault dans le groupe 2 maintenant




Je pense que sa devrait fonctionner correctement.

Cdlt,
Pierre.

Link to comment
Share on other sites

@Patric Codron c'est exactement ce que je cherche à faire, ainsi certaines catégories ne seront visibles qu'après une inscription sur le site.

@yoya971 si je ne dit pas de bêtise la modif que tu me propose me permet de changer le groupe d'utilisateur par défaut, hors je cherche à créer un groupe qui s'applique automatiquement aux inscrits, il ne me reste plus alors qu'a attribuer les catégories que je veut restreindre à ce groupe d'"inscrits"

@Nommam autant pour moi j'ai cru que tu avez eu un petit accès d'humeur ce qui peuta rriver sur les forums :) sans rancunes!

Le post est donc toujours en suspend, n'existe rien de natif qui permet cela?
Merci
Nico

Link to comment
Share on other sites

La soluce que je propose c'est que quand tu t'inscrit sur le site, tu appartiennes au groupe 2 et pas au groupe 1.
Donc si tu dis que les catégories a,b et c sont visibles par le groupe 1 (personne par defaut et/ou non enregistrée) et si tu dis que d,e,f sont visibles par ceux du groupe 2 uniquement, seul les inscrits (groupe 2) verront d,e et f.

PierrE.

Link to comment
Share on other sites

Bonsoir Pierre effectivement je n'avais pas bien compris ta technique! et elle me parait parfaite! mais j'ai essayer et bizarrement même après avoir changer les groupes des catégories (j'ai cocher defaut et vip pour les catégories que je voulais être accessible à tous et juste vip pour celles restreinte) et après avoir créer un nouveau compte qui est effectivement vip à l'inscription, je n'accède plus a aucune catégorie avec mon compte utilisateur fraichement créer et VIP, rien n'apparait dans mon menu...
Peut être un problème de cache ou autre... peut tu encore une fois me venir en aide? je sens que la solution est proche :)
merci
Nico

Link to comment
Share on other sites

@ ningu : merci pour ce conseil mais malheureusement j'ai besoin que l'attribution à un groupe se fasse automatiquement, et pas sur demande du client.

@ Pierre : le problème réside probablement dans le fait que du coup le nouvel inscrit est juste VIP et qu'il n'est plus défaut et donc n'a pas accès aux catégories défaut, en plus la case défaut disparait dans la fiche du client... mais ce qui est bizarre c'est que les catégories "vip" n'apparaissent pas non plus :s la soluce ne fonctionne pas vraiment pour le moment, si tu as une autre idée je suis preneur :)
Merci
Nico

Link to comment
Share on other sites

Dans mon module, fichier 'customerregistration.php', dans la fonction hookCreateAccount() (ligne125)

Remplacer

if ($registration_code != '' AND $registration_code == $this->_registrationCode) {



par

if (true) {



et configurer le module correctement

=> tout client qui s'inscrit sera automatiquement mis dans les groupes spécifiés

Je n'ai pas testé, mais je ne suis pas que PS tolère qu'un client ne soit pas dans le groupe par défaut

Bonne soirée

Link to comment
Share on other sites

Avant de fermer le topic j'ai finalement une dernière question :P histoire de vraiment avoir une solution effective, j'ai besoin de faire une redirection lorsque l'internaute clique sur la page restreinte et qu'il n'est pas loggé, je voudrait faire la redirection depuis le menu directement (que je peut éditer manuellement) quelqu'un qui s'y connait en php et smarty peut il m'indiquer la solution vu ma médiocrité dans ce domaine (en gros faire un " si le user n'est pas loggé, alors il est redirigé vers la page d'inscription") merci pour votre aide :)
Nico

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