Jump to content

[MODULE] Cookies Test Enable - Fr


Nommam

Recommended Posts

Les Cookies sont impératif au bon fonctionement de prestashop.

Ce module test si les cookies de votre client sont activés.
Si ils ne sont pas actif, une fenetre Thickbox s'affiche contenant un message de votre choix

Obtenir le module :
Il est presque free, un petit don ( j'accepte aussi les gros), je livre le module par mail, a l'adresse du compte paypal

Demo sur PS version 1.2 : http://yapasde.com/ps1250/
Demo sur PS version 1.3 : http://yapasde.com/ps1311/


Procédure d'installation :
1° Aller dans Outil => CMS
2° Rédiger un nouvel article dans le CMS, celui ci doit contenir un message d'information pour signaler que les cookies de son navigateur ne sont pas activé et l'enregistrer
3° Noter l'ID du CMS destiné aux cookies.
4° aller dans Modules => CookiesTest => Installer, puis Configurer
5° Taper l'ID du CMS et enregister

Current version V0.7 :
Updated


works on PS V1.2 & 1.3

-

Old Version :
V0.2 DIsplay in Alert Box ( 100 download )
V0.4 Display in thikbox window ( 83 download )
V0.5 Bug with Chrome resolved ( 157 dowload )
V0.6 Minor modificationion

English => http://www.prestashop.com/forums/viewthread/33884

29165_3kJYnYfAPHdbPBmWIkb7_t

Link to comment
Share on other sites

Pas facile d'integrer cela en haut du site, le hook Top est deja pas centrer, de plus il faut modifier la position du module pour le mettre en haut ..... donc Bof !

Par contre afficher le message / notice dans thickbox, me parait bien plus propre et web2, que l'alert java!


donc y a qu'a coder cela ;)

Link to comment
Share on other sites

Nous pourrions faire ainsi ?

blockinfos.php:

function hookLeftColumn($params)
   {
       $enabled = "";
       // Check if cookie has been set or not
       if ($_GET['set'] !== 'yes')
       {
           // Set cookie
           setcookie('test', 'test', time() + 60);

           // Reload page
           header ("Location: index.php?set=yes");
       }
       else
       {
           // Check if cookie exists
           if (!isset($_COOKIE['test']))
           $enabled = $this->l('Cookies are NOT enabled on your browser. Please enable it!');
       }

       global $smarty, $cookie;
       $smarty->assign('enabled',$enabled);

       $cms = CMS::listCms($cookie->id_lang, $this->id);
       $id_cms = array();
       foreach($cms AS $row)
           $id_cms[] = intval($row['id_cms']);
       $smarty->assign('cmslinks', CMS::getLinks($cookie->id_lang, $id_cms ? $id_cms : NULL));
       return $this->display(__FILE__, 'blockinfos.tpl');
   }



blockinfos.tpl:

<!-- Block informations module -->

{l s='Information' mod='blockinfos'}

{$enabled}
        {foreach from=$cmslinks item=cmslink}
{$cmslink.meta_title|escape:htmlall:'UTF-8'}
       {/foreach}


<!-- /Block informations module -->



J'ai expérimenté et semble fonctionner. Je ne sais pas comme ce serait dans un module distinct.

14316_loObO2SKggxTHQGIRzdX_t

Link to comment
Share on other sites

Bon en fait il y a un bug sur chrome, il retourne toujours true a navigator.cookieEnabled ..... donc, je vias devoir prendre l'option suivante, comme
Ehinarr d'initialiser un cookies et de voir si il marche ou pas !

ce qui ne plait qu'a moitié, car cela fait un cookies de plus que le site balance !

Link to comment
Share on other sites

La solution redirection d'entrée, je ne suis pas pour !
Les Crawls n'ont pas besoin d'entrer dans la logique du test de cookie.

Je pense à mon avis :

- Créer un bloc d'information comme @Ehinarr et lui mettre un "display: none;".

- Faire un test au chargement de la page "Ajax + jQuery".

- Retour en json, txt ou xml.

- Si cookie pas ok : "display: block;" sinon, ciao :)

Link to comment
Share on other sites

Certe les robots, ils ont on rien a pété de mon thickbox, ca ne les empeche pas de parcourir le site.
Par contre ils referencent quoi ??? le thickbox, la page, les deux ????


la soluce d' Ehinarr est pas mal, mais pas assez visible, les clients ne lisent plus rien sur un site et surtout qu'on risque de leur parler javanais.


je vais reflechir a comment faire pour que ce soit mieux !!!!

Link to comment
Share on other sites

J'ai fait un tour sur les gros sites ecomerce.

3suisses => affichage en rouge en haut de page + liens vers notice
ldlc.fr Affiche un message a la mise a jour du panier, comme amazon.fr qui lui en plus propose un lien vers une aide pour les activer
discounteo.com => A la mise a jour du panier une notice en anglais !!!! ( lui il est sous mag..to )
rueducommerce le site ne marche pas du tout, affichage de la pub en boucle
surcouf comme cdiscount le site marche mais des que l'on met en panier, ca nous retourne un panier vide


il me semble que le mieux c'est de jouer le thikbox a la mise a jour du panier .

Link to comment
Share on other sites

Nous pourrions faire ainsi?

cookiestest.php:

public function hookHeader($params)
{
       $cookie_message = $this->l('Cookies are NOT enabled on your browser. In order for us to process your requests, we require cookies to be enabled. Please configure your browser to allow cookies.');

       global $smarty, $cookie;
       $smarty->assign('enabled',$cookie_message);

       return $this->display(__FILE__, $this->name.'.tpl');
   }



cookiestest.tpl:

[removed]
var enabled = '{$enabled}';
{literal}
<!--
function ReadCookie(cookieName) {
var theCookie=""+[removed];
var ind=theCookie.indexOf(cookieName);
if (ind==-1 || cookieName=="") return "";
var ind1=theCookie.indexOf(';',ind);
if (ind1==-1) ind1=theCookie.length;
return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}

function SetCookie(cookieName,cookieValue,nDays) {
var today = new Date();
var expire = new Date();
if (nDays==null || nDays==0) nDays=1;
expire.setTime(today.getTime() + 3600000*24*nDays);
[removed] = cookieName+"="+escape(cookieValue)
                + ";expires="+expire.toGMTString();
}
testValue=Math.floor(1000*Math.random());
SetCookie('AreCookiesEnabled',testValue);
if (testValue==ReadCookie('AreCookiesEnabled'))
    [removed]('')
else [removed](enabled)
//-->
{/literal}
[removed]




C'est juste une suggestion pour votre bonne idée.

14353_ZajYX92UbrwxdBiU9OmO_t

Link to comment
Share on other sites

  • 3 weeks later...

ca marche tres bien !!!!

mais les utilisateurs de Chrome ne vont pas le voir, car chrome a un bug avec la fonction que j'avais utilisé ....
Met a jour avec la version 0.5 pour ne pas avoir le pb, de plus le texte dans le CMS est bien plus sympa que dans la fenetre alert

Link to comment
Share on other sites

ca marche tres bien !!!!

mais les utilisateurs de Chrome ne vont pas le voir, car chrome a un bug avec la fonction que j'avais utilisé ....
Met a jour avec la version 0.5 pour ne pas avoir le pb, de plus le texte dans le CMS est bien plus sympa que dans la fenetre alert

oui,mes avec la v0.5 je ne sais plus chgt le theme .
Link to comment
Share on other sites

ca marche tres bien !!!!

mais les utilisateurs de Chrome ne vont pas le voir, car chrome a un bug avec la fonction que j'avais utilisé ....
Met a jour avec la version 0.5 pour ne pas avoir le pb, de plus le texte dans le CMS est bien plus sympa que dans la fenetre alert

Bon voila j'ai installer sur ma boutique v0.5,pour le choix du theme on sans fou car si le client veut passer commande il doit acepté les cookies et par ce faite il pourra choisir le thémes, en plus le choix des themes et plus un gadget qui sert a rien juste pour mon plaisir perso .lol
Link to comment
Share on other sites

je ne comprend pas, tu viens de mettre la V0.5 du module, ca fonctionne bien,
le systeme de changement de theme aussi,

par contre sans cookies, le truc de gestion de theme ne fonctionne pas, a chaque foie que tu change de page, on reviens au theme pyragic par defaut !

donc ce module t'aide a ce que ton systeme de theme fonctionne mieux ;)

Link to comment
Share on other sites

hello,

J'ai testé ce module avec succès sur Firefox 3.5.5, mais sur IE8 (Windows 7) j'ai beau supprimer et interdire les cookies je ne vois pas le message.

Les cookies sont bien "interdit" puisque le site ne fonctionne pas correctement.

Une idée ?

Merci :)

Link to comment
Share on other sites

install win98 !!!!

tu as la version 0.4 pour tester ( si non, fil moi ton mail, je te l'envoie )


Salut,

dsl pour le délai mais j'ai claqué ma carte mère ^^
j'ai dû rebrancher mon super P4 1ghz en attendant de réparer :-S

Bon, donc en fait j'ai la version v0.5 du module, sur PS 1.1.0.5

Sinon, non merci pour win98 :D
en fait j'ai précisé Windows 7 parce que je me demande si c'est vraiment la même version de IE8 que sur XP (j'en doute), et peut-être que le problème vient de là ?

Merci,

Alek.
Link to comment
Share on other sites

  • 2 months later...
  • 3 weeks later...

Sl nomman,

je viens d'installer la version 0.6, et je remarque que rien ne sert de rajouter un cms.

pourquoi, parce que je viens de faire le test et en créant un cma je n'avais pas la phrase indiquer dans le cms alors j'ai testé en ne mettant pas de chiffre dans ton module et cela fonctionne aussi.

Mais par contre on ne voit pas trop la phrase à cause de cela.

Peut tu voir de rajouter une fonction qui permettrait de choisir un fond de couleur à la phrase ou de supprimer l'ajout direct de la phrase parce que en gros le module fonctionne à moitié par rapport à ce que tu as crée ( fonction id ne sert plus)

Merci à toi pour ce module

20125_Lf4C50MK0WmgvwNTYZIS_t

Link to comment
Share on other sites

Test avec IE8 + windows 7 fonctionne voici la phrase : •Cette boutique nécessite JavaScript afin de fonctionner correctement. Merci de l'activer dans votre navigateur.

Mais comme indiquez au dessus elle ne ressort pas donc les gens n'y feront pas attention.

Link to comment
Share on other sites

Quelle est le rapport entre JavaScript que tu as bloqué dans ton navigateur, et les cookies ???

Les cookies et Javascript ce n'est pas la meme chose !

De plus la detection du javascript est faite par le theme dans le header.tpl

Alors que moi j'ai fait un Module ( donc pas un bidouille de theme ) pour detecter si les cookies sont activé ou pas !
En plus l'utilisation du CMS permet de mettre un notice : Comment activer les cookies ....

Si tu ne met pas d'ID cms, l'appel de la thikbox ne peut rien afficher ... donc pas d'affichage !

Link to comment
Share on other sites

  • 1 month later...
  • 4 months later...

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