Jump to content

[Module] Tirage Au Sort Bon De Réduction


Arnaud Drieux

Recommended Posts

Salut à toute la communauté !

 

Après plus d'un mois d'essais pour créer un simple module, j'ai enfin réussi ! :D

 

PITCH:

Le client arrive sur votre site. Un pop-up présent, lui donne la possibilité de "jouer" pour gagner un bon de réduction. Lorsqu'il clique sur jouer, le gain apparait avec la description et le code à utiliser.

 

Encore quelques choses à rajouter :

Comment limiter cet pop-up à une seule vue?

Exemple: le client vient d'avoir son code réduction, mais s'il retourne sur l'accueil, cette pop-up n'est plus.

 

 

Pour modifier le temps d'attente avant le résultat, il faut éditer le fichier js => reduc.js

Ligne 10 :

var cpt = 1 ;

1 étant la durée en seconde.

 

Télécharger le module (gratuit)

areductionV1.8.zip

areductionV2.5.zip

Edited by arnaud1900 (see edit history)
  • Like 3
Link to comment
Share on other sites

Si quelqu'un pouvait m'aider pour ces quelques modifes :

 

- Pop-up visible qu'une seule fois par client sur le site.

- ajouter un temps de "de pause" entre le moment où on clique sur jouer et où le résultat s'affiche. Pourquoi pas ne mettre une petite animation

 

Merci

Link to comment
Share on other sites

Autre petit soucis, je souhaite mettre des values dans mon formulaire, mais ma procédure ne me renvoit que le premier résultat…

 

Voici le code:

 $recup = "SELECT * FROM `"._DB_PREFIX_."areduction`";
 if($result = Db::getInstance()->ExecuteS($recup))
 foreach ($result as $f){
  $textintro = $f['text_intro'];
  $textsecond = $f['text_second'];
  $textfinal = $f['text_final'];
 }

 

problème, seul $f['text_intro']; fonctionne. Je ne comprend pas pourquoi.

Si quelqu'un avait une idée

 

EDIT: OK c'est bon, ma table était au 2/3 vide :rolleyes:

Et du coup M.AJ. du module.

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

Hello,

 

Module fort intéressant.

 

Serait-il possible de faire en sorte de proposer au client de participer à un mini-quiz, afin de gagner ce fameux code ^^'

 

et donc donnez la possibilité a l'admin et à l'interface en BO du module de crée 3 petits formulaire contenant à chaque fois

 

1 question et 3 réponses possible ( d’enregistrer les réponses de manière temporaire ) et au dernier formulaire, biensur proposer de partagé cela sur facebook. et au moment d'envoyé le formulaire, durant la phase d'attente du résultat, vérifier les bonnes réponses, et si 1 bonne réponses, lui donner le fameux code, avec un lien pour que cette personne, soit ce connecte directement à son compte client, soit puisse s'en crée un ^^'.

 

Voila, ce n'est qu'une idée parmi t'en d'autres, mais du moment qu'il y a la possibilité de faire le partage sur facebook, et une fois le code donnée, lui donner la possibilité de soit ce crée un compte, soit s'y connecter.

 

J'ai hâte de tester cela sur ma 1.5.2 :P

 

bien a toi

 

johan

  • Like 1
Link to comment
Share on other sites

Si quelqu'un pouvait m'aider pour ces quelques modifes :

 

- Pop-up visible qu'une seule fois par client sur le site.

- ajouter un temps de "de pause" entre le moment où on clique sur jouer et où le résultat s'affiche. Pourquoi pas ne mettre une petite animation

 

Merci

 

Ta popup c'est une fancybox ?

A supposer que ce le soit tu peux ajouter un traitement à la fermerture.

Ce traitement en js peut être un appel ajax qui enregistrerait la participation du client dans une table type

id_jeu | id_customer | played

...

bon c'est peut être léger comme suggestion ...

Link to comment
Share on other sites

Hello,

 

Module fort intéressant.

 

Serait-il possible de faire en sorte de proposer au client de participer à un mini-quiz, afin de gagner ce fameux code ^^'

 

et donc donnez la possibilité a l'admin et à l'interface en BO du module de crée 3 petits formulaire contenant à chaque fois

 

1 question et 3 réponses possible ( d’enregistrer les réponses de manière temporaire ) et au dernier formulaire, biensur proposer de partagé cela sur facebook. et au moment d'envoyé le formulaire, durant la phase d'attente du résultat, vérifier les bonnes réponses, et si 1 bonne réponses, lui donner le fameux code, avec un lien pour que cette personne, soit ce connecte directement à son compte client, soit puisse s'en crée un ^^'.

 

Voila, ce n'est qu'une idée parmi t'en d'autres, mais du moment qu'il y a la possibilité de faire le partage sur facebook, et une fois le code donnée, lui donner la possibilité de soit ce crée un compte, soit s'y connecter.

 

J'ai hâte de tester cela sur ma 1.5.2 :P

 

bien a toi

 

johan

 

Hello. C'est une très bonne idée ça. Par contre vu que c'était la première fois que je faisais un module je peux pas t'affirmer que je sois capable de réaliser un tel module -_-

 

En tout cas je note l'idée et dès que j'aurai fini mon module pour la 1.5.x je le commencerai. D'ailleurs si quelqu'un veut m'aider se serait pas mal aussi :D

 

 

Ta popup c'est une fancybox ?

A supposer que ce le soit tu peux ajouter un traitement à la fermerture.

Ce traitement en js peut être un appel ajax qui enregistrerait la participation du client dans une table type

id_jeu | id_customer | played

...

bon c'est peut être léger comme suggestion ...

Alors non c'est pas une fancybox, mais juste un pop up géré par des display none et display block. En tout cas, je vois à peu près ce que tu veux dire.

Par contre, le soucis c'est qu'il faut que le visiteur soit identifié pour que ça fonctionne. A réfléchir.

 

En tout ca merci pour vos messages ;)

Link to comment
Share on other sites

Hello,

 

Pour ta version 2.0 , à tu réussi à réglé le soucis d'enregistrement dans une table, la participation du dit client ?

 

Sinon, serait-il possible en B.O du module, de pouvoir choisir d'afficher ce popup que pour les Clients déjà inscrit, ou juste pour les Visiteur... en gros de reprendre les groupes utilisateur de la boutique .

 

il a vraiment un gros potentiel ce module , y a plein de chose qu'on pourrait envisager ^^'

 

bien a toi

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

MAJ: Version 2.1

 

Vous avez le choix entre afficher le module à tout le monde (oui) ou ne le montrer qu'aux personnes incrites/connectées (non).

Par contre j'ai un soucis, je n'arrive pas checké le bon input dans le back office du module.

 

Les update en base de donnée fonctionnent très bien, mais l'affichage en back office ne suit pas. Exemple, j'ai coché non, mais à l'affichage le oui est resté coché.

 

Si quelqu'un pouvait m'aider :)

 

Merci

Link to comment
Share on other sites

Super le module, félicitation.

Je rejoins l'avis de UTAKU sur le faites de pouvoir mettre des questions pour pouvoir gagner le oules bon(s) de réduction.

Et de pouvoir aussi ne faire apparaître le module qu'une seul fois au visiteur, que même s'il rafraîchi la page le module ne ce lance plus, une histoire d'IP surremment (maintenant je dis ça, mais je ne suis pas du tout développeur... :unsure: )

Link to comment
Share on other sites

Par IP , je ne croix pas car, il suffirait au personne de ré-initialiser le modem, et si tu as une IP dynamique ce qui est le cas d'énormément de monde, bah le module refonctionnera...

 

Moi je penche plutôt de le faire fonctionner que pour les clients déjà enregistrer... ou alors de faire en sorte d'indiqué ou de diriger les visiteurs ayant eu ce bon de réduction vers la création d'une compte ou de se connecter afin de pouvoir l'utiliser.

Et dans ce cas, limité le bon de réduction à 1 utilisation par compte ^^'

 

Voila, après je ne sais pas trop comment mettre cela en pratique niveau Code :P

Link to comment
Share on other sites

haaaaa AH ! J'avais zappé le fait d'emmener l'internaute à s'inscrire. Pas bête du tout !

 

"Pour utiliser ce code, connectez-vous ou inscrivez-vous !"

 

Du coup pour l'évolution du module :

- Faire en sorte que le visiteur s'inscrive

- Si client (inscrit) voit la pop-up une fois, elle n'apparaitra plus. Je pense qu'avec la technique de Broceliande, ça peut se faire.

 

Enfin, pour le questionnaire, je pense qu'il faut que j'en fasse un autre module parce qu'il y a certaines choses à gérer :

- Une seule et unique question?

- Plusieurs questions? Du coup, un formulaire pour la création/gestion de questionnaire (ouf !^^)

 

Bref encore un peu de boulot en vue !

Link to comment
Share on other sites

  • 2 weeks later...

Alors, je viens de réinstaller une version de prestashop 1.4.8.2 et en effet "

VOICI LE CODE À UTILISER"

ne s'affiche pas.

 

En fait, il n'affiche pas ce message car aucun bon d'achat n'existe dans la boutique.

Dès le moment où un bon est créé, le module fonctionne correctement.

 

Je vais faire une modife pour prévenir de l'absence de bons d'achats.

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

  • 4 weeks later...

sous prestashop 1.5.3 les codes s'affichent mais ou trouver les bons crees???? car ils ne fonctionnent pas dans le panier

merci

 

Salut recreradio, j'espère que je n'arrive pas trop tard. Les bons de réductions ont disparus sous PS 1.5, du moins, le nom "bons de réduction".

Pour avoir accès, il faut aller dans l'admin: Promotions -> Règles paniers. Et là tu pourras créer, modifier ou supprimer les bons

 

super module est il possible que le code réduction gagné se mette directement dans le panier

 

Je vais voir ce que je peux faire.

 

bravo pour ton module .

 

Merci ;)

Link to comment
Share on other sites

Bonsoir

 

Excellente idée et bon module, juste une remarque il serait peut etre profitable que pour jouer nos visiteurs s'inscrivent a la newsletter, ainsi nous pourrions plus facilement ensuite fideliser nos visiteurs. Qu'en pensez vous ?

Link to comment
Share on other sites

Bonsoir

 

Excellente idée et bon module, juste une remarque il serait peut etre profitable que pour jouer nos visiteurs s'inscrivent a la newsletter, ainsi nous pourrions plus facilement ensuite fideliser nos visiteurs. Qu'en pensez vous ?

 

 

C'est vrai que ça pourrait être très utile, mais est-ce qu'il faudrait que le client soit déjà inscrit ?

Link to comment
Share on other sites

Bonsoir

 

Question, serait il envisageable que le popup ne s'affiche pas a l'ouverture du site mais par exemple apres x secondes passé sur le site par le visiteurs ou encore quand un visiteur met un article dans le panier ? Cela enleverait la systemacité et serait peut etre plus attractif pour les visiteurs, ainsi on pourrait donner l'image reelle d'un cadeau et non vouloir appater a tous prix le chaland en lui offrant une reduction d'entrée de jeu

Link to comment
Share on other sites

Bonsoir

 

Question, serait il envisageable que le popup ne s'affiche pas a l'ouverture du site mais par exemple apres x secondes passé sur le site par le visiteurs ou encore quand un visiteur met un article dans le panier ? Cela enleverait la systemacité et serait peut etre plus attractif pour les visiteurs, ainsi on pourrait donner l'image reelle d'un cadeau et non vouloir appater a tous prix le chaland en lui offrant une reduction d'entrée de jeu

 

Oui bien vue!!

le jeu ce mes en route si un article tombe dans le panier la ok ! un vrai cadeau qui tombe au moment du remplissage du panier donnera envie d'utiliser le bon de réduc,et donc de finalisez le panier....

Link to comment
Share on other sites

Bonsoir

 

Question, serait il envisageable que le popup ne s'affiche pas a l'ouverture du site mais par exemple apres x secondes passé sur le site par le visiteurs ou encore quand un visiteur met un article dans le panier ? Cela enleverait la systemacité et serait peut etre plus attractif pour les visiteurs, ainsi on pourrait donner l'image reelle d'un cadeau et non vouloir appater a tous prix le chaland en lui offrant une reduction d'entrée de jeu

Oui bien vue!!

le jeu ce mes en route si un article tombe dans le panier la ok ! un vrai cadeau qui tombe au moment du remplissage du panier donnera envie d'utiliser le bon de réduc,et donc de finalisez le panier....

 

Très intéressant ce que vous dîtes !

Du coup est-ce que le client, lorsque la pop-up apparait, doit remplir un champ pour la newsletter ?

 

De mon coté j'avais pensé à fournir le bon de réduction que si la personne partageait le site, ou un produit sur facebook par exemple. Mais là on touche à l'API de facebook que je n'ai jamais utilisé :).

 

Bien bien bien, encore de bonnes idées à approfondir et tenter de coder de mon côté!

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

Bien vu Imprevu ! 83bd14f1.gif

 

 

Très intéressant ce que vous dîtes !

Du coup est-ce que le client, lorsque la pop-up apparait, doit remplir un champ pour la newsletter ?

 

De mon coté j'avais pensé à fournir le bon de réduction que si la personne partageait le site, ou un produit sur facebook par exemple. Mais là on touche à l'API de facebook que je n'ai jamais utilisé :).

 

Il faudrait laisser le choix d'activer ou non ces options séparément dans le BO.

 

Après tu peux aussi créer un nouveau module pour l'échange de lien, puis ajouter cette option dans Tirage au sort pour ceux qui possèderaient les 2 modules ;)

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

Bonjour,

 

je ne sais absolument pas coder pour prestashop (le HTML est déjà bien suffisant pour mon petit neurone :wacko: ) mais je tenais à te féliciter pour ton implication et ta volonté évidente. Bravo !

 

Chris, très intéressé... :P

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

  • 2 weeks later...

Sous PS 1.5.4.1 je ne comprend pas.

 

Coté BO quand je fait enregistrer j'ai à l'écran :

[PrestaShopDatabaseException]

 

Db->executeS() must be used only with select, show, explain or describe queries

at line 470 in file classes/db/Db.php

 

464.

465. // This method must be used only with queries which display results

466. if (!preg_match('#^\s*\(?\s*(select|show|explain|describe|desc)\s#i', $sql))

467. {

468. if (defined('_PS_MODE_DEV_') && _PS_MODE_DEV_)

469. throw new PrestaShopDatabaseException('Db->executeS() must be used only with select, show, explain or describe queries');

470. return $this->execute($sql, $use_cache);

471. }

472.

473. $this->result = false;

474. $this->last_query = $sql;

 

Coté FO j'avais un message d'erreur concernant les addCSS et addJS, donc j'ai modifié areduction.php (L.96):

// Ajout de mon css et js
 //
 $this->context->controller->addJS($this->_path.'js/reduc.js', 'all');
 $this->context->controller->addCSS($this->_path.'css/reduc.css', 'all');

 

J'ai toujours le message coté BO qui s'affiche lors de l'enregistrement. Mais le module fonctionne oO.

Tu peux le voir sur mon site en cours de tests.

 

Comment supprimer l'erreur coté BO ?

 

Merci.

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

Hello,

Je viens de tester en interne, fonctionne bien, mais le soucis est que même si il n' y à pas de bon de réduc il affiche " vous avez gagné", je sais il faut le désactiver, mais si un oubli se présente ? à suivre peut-être..............

sinon très interressant, à finaliser pour le BO ( plus de réglage ?).

Merci quand même.

@+

Link to comment
Share on other sites

Re

Oui encore moi, je m' apperçois que chaque foi que je vais sur ma page Accueil le popup apparait et je gagne à chaque foi, normal ?

Mes questions viennent en suivant.

@+

robin

 

Oui c'est un simple module. Tant qu'il y a des bons de réductions de dispos, il les fera gagner. Ensuite c'est à toi de désactiver le module.

 

Je sais qu'on peut masquer des blocs si un article est en stock=0 ou encore si le client n'est pas connecté. Il y a peut-être une ligne de code commune que l'on pourrait récupérer pour l'ajouter à ce module pour lui dire que si vouchers=0 alors popup=0 afin qu'il ne s'affiche que quand il y à des bons en stock.

 

Je viens juste de penser que je n'avais pas testé pour voir si le module affiche des bons normalement proposés qu'à un groupe d'utilisateur spécifique et non aux visiteurs...

Link to comment
Share on other sites

MAJ v2.4:

- Résolution des bugs FO et BO mercilordbdp pour ton aide

- Résolution du problème lorsqu'il n'y a pas de bons de réduction. Maintenant, si aucun bon de réduction existe, le module ne s'affiche pas sur le FO.

 

MAJ v1.7:

- ajout du champ pour modifier le temps avant affichage.

- Résolution du problème lorsqu'il n'y a pas de bons de réduction. Maintenant, si aucun bon de réduction existe, le module ne s'affiche pas sur le FO.

 

Bonne journée :)

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

salut oui si la reduc se met directement dans le panier ce serait genial et sous forme d'un questinnaire serai un plus car sa pourrai permettre de nous ameliorer peut etre.jai la version 1.4.6.2 est ce que ce module marche pour cette version?

 

C'est ce que j'aimerai faire, mais je suis un peu limité dans la technique…

 

Concernant la 1.4.6.2, aucun soucis. Il suffit de télécharger le fichier areductionV1.7

Link to comment
Share on other sites

  • 3 weeks later...

Bonjour

 

en 1.5.4.0 j'ai installé,

 

li affiche bien le début mais ne donne rien apres "vous avez gagné"

 

pourtant j'ai bien d-créé un bon de réduction avec 10000 pces disponible.

 

J'ai loupé qqe chose ?

 

merci

Link to comment
Share on other sites

Bonjour,

 

Idée webmarketing ingénieuse, mais votre lien pour visualisation / présentation de test prestashop est brisé.

 

J'ai visité votre site et la mise en page / présentation du module est plutôt sympa.

Vous devriez ajouter un bouton donation, car je pense qu'à un certain moment il faut aussi savoir donner, voir obliger de contribuer, quand je vois le nombre de demande de contribution ou développements gratuits sur ce post, qui a mon avis est certainement source de revenus commerciaux.

 

Si à l'avenir j'utilise votre module, je souhaite contribuer financièrement même modestement à un don, ce qui me semble juste et équitable et qui a l’avenir pourrait assainir l'ambiance de ce forum.

Bien évidemment j'invite les téléchargeurs et utilisateurs a me suivre ...

Link to comment
Share on other sites

Pour information en version Prestashop 1.4.9.0, le module ne fonctionne.

Je n'ai pas fait de recherche plus poussée. ( upload + réglage = rien )

 

Merci yonis pour votre retour, je vais remettre le module sur le site de test. Et oui, pourquoi pas un bouton donation, je n'y avais pas pensé. ;)

 

Je vais regarder pour la 1.4.9.0.

 

bonjour j ai un petit soucis. le message apparait bien " vous avez gagne" mais aucain code reduction s 'affiche comment le faire apparaitre merci

 

Bonjour, pouvez-vous être plus précis? version prestashop etc ?

Link to comment
Share on other sites

Pour information en version Prestashop 1.4.9.0, le module ne fonctionne.

Je n'ai pas fait de recherche plus poussée. ( upload + réglage = rien )

 

Je viens d'installer la 1.4.9.0 en locale avec le module V1.7 , créé deux bons de réduction, et ça fonctionne correctement.

Bien entendu, le module ne s'affiche pas si aucun bon de réduction n'est créé.

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

Bonjour, merci pour ce module,

 

j'ai créé toutes sortes de bon néanmoins comme les autres j'ai le "vous avez gagné" puis rien en dessous.

De plus le module apparait à chaque rechargement de page.

 

Toute forme d'aide sera grandement appréciée.

 

Je suis sous prestashop 1.5.2

Link to comment
Share on other sites

Bonjour, et merci également pour ce module.

 

Par contre, aucun affichage du 'vous avez gagné' alors qu'il y as des bons de réduction créés (PS 1.5.4.1)

 

Bon courage pour la suite, et l'avancement du module.

Link to comment
Share on other sites

Bonjour, et merci également pour ce module. Par contre, aucun affichage du 'vous avez gagné' alors qu'il y as des bons de réduction créés (PS 1.5.4.1) Bon courage pour la suite, et l'avancement du module.
bien moi j'ai bien le "vous avez gagné" mais rien en dessous.
Bonjour, merci pour ce module, j'ai créé toutes sortes de bon néanmoins comme les autres j'ai le "vous avez gagné" puis rien en dessous. De plus le module apparait à chaque rechargement de page. Toute forme d'aide sera grandement appréciée. Je suis sous prestashop 1.5.2

 

Décidément…

 

pour ce qui concerne l'affichage à chaque fois qu'on est sur l'accueil, c'est normal. Je n'ai pas encore implémenté la limitation.

 

Pour les bugs, je vous avoue que je ne vois pas d'où ça vient.

 

je regarde ça

Link to comment
Share on other sites

en fait moi ça a marché une fois puis après ça a planté, dès que j'ai supprimé tous les bons et que j'en ai créé des plus appropriés.

 

Voilà d'où vient le problème. Dès que vous supprimez un bons de réduction et que vous en créez un autre, ça bug.

 

Je vais essayer de régler ça

Link to comment
Share on other sites

Re Bonjour ,

 

Bizarre : Pour le faire fonctionner va sur Promotions "Règles paniers" : Cliquez sur Créer

Exemple : Nom 10 % après entre un code dans la case code "après cliquez pour générer un code aléatoire"

Vide le cache + du navigateur , va sur ton site ça devrait fonctionner.

 

Amitiés

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

ca marche niquel :) sauf un petit détail ligne 89 il faut enlever le var_dump($reponse);

quand la limite sera implémentée donnez moi votre compte paypal je vous ferai un don pour vous remercier de votre travail.

 

Bien cordialement,

 

Stan P.

Link to comment
Share on other sites

j'ai essayé un petit peu d'implémenter quelque chose en quick and dirty pour que un utilisateur ne puisse pas soumettre sur une période donnée avec la même ip, mais j'ai du mal à l'implémenter avec smarty et les classes. Quelqu'un aurait une idée ?

[/size]
function afficheTirageAusort() {

   //Initialisation des variables

   $ip = $_SERVER["REMOTE_ADDR"];
   $date_str = date('d-m-y');
   $rep = "ip/";
   if (!file_exists($rep)) {
fopen($rep, "w+");
   }
   $fichier = $ip . $date_str . '.txt';
   $periode = 7;
   $i = 0;
   $date_jeu = 0;

   //Test de l\'existence du fichier
   while ($i < $periode) {
$i++;
$date = Date("d/m/Y", mktime(0, 0, 0, $m, $d + 1, $Y));
if (file_exists($rep . $ip . $date . '.txt')) {
    $var = 0;
} else {
    fopen($rep . $ip . $date . '.txt', 'w+');
    $var = 1;
    break 1;
}
   };
   return $var;
}

 

l'idée ce serait de faire une comparaison avec $var si le resultat =0 on laisse afficher le tirage au sort, sinon on affiche soit un message invitant a revenir telle date, ou on affiche rien, à définir.

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

C'est pas mal comme idée. De plus on peut ajouter ça en back office en disant, si une personne a déjà joué, il faut qu'elle attende 5jours / 10jours / 1 mois etc…

 

Ca permet au visiteur de devenir client pour avoir la réduc, et par la suite, au client de revenir plusieurs fois sur le site pour profiter d'autres réductions.

Link to comment
Share on other sites

oui le soucis c'est que je galère à l'implémenter ^^ en fait je suis de la très vieille école en php je fais vraiment du quick and dirty tout ce qui est smarty et les classes je maitrise pas du tout, en fait j'ai jamais été formé pour aussi ^^ je suis nutritionniste de formation. bon je vais potasser un peu pour voir si j'y arrive. Logiquement je crois qu'un fichier vide en txt contient 0 octets. Du coup juste créer un fichier avec le nom ne pèserait pas grand chose sur le server.

 

pour une autre idée d'amélioration juste ajouter un peu d'interractivité avec l'utilisateur j'ai pensé à rajouté un jquerry effect sur le div du résultat du genre http://www.htmldrive.net/items/demo/880/Images-Scratch-Card-Plugin-jQuery-Scratchie

 

http://www.htmldrive.net/items/show/880/Images-Scratch-Card-Plugin-jQuery-Scratchie

Link to comment
Share on other sites

bon je viens d'essayer de combiner, j'ai améliorer la fonction, même si ça n'est pas idéal (le mieux étant d'utiliser une base de données), celle-ci créé autant de fichiers (qui font 0 octets) que la date pendant laquelle on autorise le joueur a jouer, par exemple tous les 7 jours.

 

Ensuite on teste si le fichier existe dans l'intervalle, s'il existe on renvoit 1 sinon on renvoit 0 et on le créé.

 

Si l'on renvoit 0 alors on affiche le tirage au sort, sinon on affiche rien ou un message l'invitant à se reconnecter dans x jours...

 

Le soucis que j'ai maintenant c'est que je sais pas comment utiliser la variable créée dans le .tpl

 

function afficheTirageAusort() {
   //Initialisation des variables
   $ip = $_SERVER["REMOTE_ADDR"];
   $date_str = date('d-m-y');
   $rep = "ip/";
   if (!file_exists($rep)) {
    fopen($rep, "w+");
   }

   $periode = 1;
   $i = 0;
   $date_jeu = 0;
   //Test de l\'existence du fichier
   while ($i <= $periode) {
 list($d,$m,$Y)= explode('-',$date_str);
    $date2 = Date('d-m-Y', mktime(0, 0, 0, $m, $d + $i, $Y));
  $fichier = $ip . '-' .$date2 . '.txt';
    if (file_exists($rep . $fichier)) {
	    $var = 1;
  break 1;
    } else {
	    fopen($rep . $fichier, 'w+');
	    $var = 0;

    }
	  $i++;
   };
   return $var;
}
$var_tirage_sort = afficheTirageAusort();
//var_dump($var_tirage_sort) ;

 

ça renvoi bien quelque chose en var_dump mais quand je l'utilise dans le .tpl ça ne l'utilise pas... pour info j'ai mis ça dans le .tpl

 

{if $page_name == index && $var_tirage_sort ==0}

Link to comment
Share on other sites

j'ai essayé de tout mettre dans le .tpl mais il ne reconnait pas la variable php.

 

les balises {php}^ne fonctionnent pas dans smarty enfin dans prestashop.

[/size]
<?php
function afficheTirageAusort() {
   //Initialisation des variables
   $ip = $_SERVER["REMOTE_ADDR"];
   $date_str = date('d-m-y');
   $rep = "ip/";
   if (!file_exists($rep)) {
	    fopen($rep, "w+");
   }

   $periode = 1;
   $i = 0;
   $date_jeu = 0;
   //Test de l\'existence du fichier
   while ($i <= $periode) {
 list($d,$m,$Y)= explode('-',$date_str);
	    $date2 = Date('d-m-Y', mktime(0, 0, 0, $m, $d + $i, $Y));
  $fichier = $ip . '-' .$date2 . '.txt';
	    if (file_exists($rep . $fichier)) {
			    $var = 1;
  break 1;
	    } else {
			    fopen($rep . $fichier, 'w+');
			    $var = 0;

	    }
			  $i++;
   };
   return $var;
}
$var_tirage_sort = afficheTirageAusort();
//var_dump($var_tirage_sort) ;
?>
<!-- REDUC MODULE INDEX -->
{if $page_name == index}
{if $var_tirage_sort == 0 }
<div id="reduction_block">
<div id="glob">
 <div id="img"></div>
 <div id="exit" onclick="exti();"></div>
 <div id="reduction_info">
 {foreach from=$txt item=txte name=txte}
  <p>{$txte.text_intro}</p>
 <script type="text/javascript">
  var cpt = {$txte.valeur_temps};
 </script>
  <button class="valid" onclick="montenl();decompte();">Jouer</button>
 </div>
 <div id="load" onload="decompte();" style="display:none;"><img src="{$modules_dir}/areduction/img/progress.gif"/><p id="Crono"></p></div>
 <div id="reduction_content">
  <p>{$txte.text_second}</p>
  {foreach from=$reponse item=code name=code}
   <p class="code">{$code.name}</p>
   <p>{$txte.text_final}</p>
   <p class="code">{$code.code}</p></h2>
   <p>Pour un <img src="images/gift.png" title="cadeau"> supplémentaire, n'oubliez pas de poster le numéro de votre commande sur notre page <a href="https://www.facebook.com/omega.nutrition.france" title="Facebook Omega Nutrition"><img src="images/facebook.png" title="Notre page facebook"></a></p>
  {/foreach}
 </div>
 {/foreach}
</div>
</div>
{else}
<div id="reduction_block">
<div id="glob">
 <div id="img"></div>
 <div id="exit" onclick="exti();"></div>


 <div id="reduction_content">
  <p>Vous avez déjà joué, revenez dans 7 jours</p>

   <p class="code"></p>
   <p></p>
   <p class="code"></p></h2>
   <p>Pour un <img src="images/gift.png" title="cadeau"> supplémentaire, n'oubliez pas de poster le numéro de votre commande sur notre page <a href="https://www.facebook.com/omega.nutrition.france" title="Facebook Omega Nutrition"><img src="images/facebook.png" title="Notre page facebook"></a></p>

 </div>

</div>
</div>
{/if}
{/if}

Link to comment
Share on other sites

Désolé pour la non réponse, je cours un peu partout en ce moment.

 

Pour l'envoie au tpl :

 

Exemple a partir du fichier areduction.php :

ligne 91 :

$reponse = toutes mes infos concernant mes bons en base de donnée

 

ligne 96 :

j'assigne ma variable à un titre que j'appel reponse

$smarty->assign(array(
'reponse' => $reponse,
'txt' => $txt
));

 

Dans le allreduction.tpl, ligne 20

Je fais un foreach depuis le titre donné dans le tableau : reponse

je lui met un autre nom pour m'en servir d'item ici : code

et avec le .name je récupère la valeur name dans la bdd

 

 



{foreach from=$reponse item=code}
<p class="code">{$code.name}</p>
<p>{$txte.text_final}</p>

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

<p>J'ai peut-être une solution pour limiter le module à une seule fois :</p>

<br />

<br />

<div>

</div>
<div>//déclaration variable ip</div>
<div>$ipServer = $_SERVER["REMOTE_ADDR"];</div>
<div> </div>
<div>//création d'un cookie avec l'ip client</div>
<div>$cookie->ipcookie = $ipServer;</div>
<div> </div>
<div>//déclaration de variable ip du cookie</div>
<div>$ipCookie = $cookie->ipcookie;</div>
<div> </div>
<div>// on vérifie si le cookie ip existe </div>
<div>// si il existe ET qu'il est égal à l'ip actuelle</div>
<div>if(isset($ipCookie) && $ipCookie == $ipServer){</div>
<div>//</div>
<div>//Mettre ce qu'on veut ici</div>
<div>//</div>
<div>}else{</div>
<div>//[...] suite du code</div>
<div>

<br />

<br />

Du coup lors d'une première venue sur le site, si la personne ne joue pas, ce message n'apparaitra plus.<br />

<br />

<br />

Qu'en pensez vous ? </div>

 

Link to comment
Share on other sites

//déclaration variable ip
$ipServer = $_SERVER["REMOTE_ADDR"];

//création d'un cookie avec l'ip client
$cookie->ipcookie = $ipServer;

//déclaration de variable ip du cookie
$ipCookie = $cookie->ipcookie;

// on vérifie si le cookie ip existe 
// si il existe ET qu'il est égal à l'ip actuelle
if(isset($ipCookie) && $ipCookie == $ipServer){
//
//Mettre ce qu'on veut ici
//
}else{
//[...] suite du code

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

Bonjour à tous ce module me serait fort utile sur mon store mais rien ne s'affiche pourtant tout est activé , les bons de réductions prêt à se lancer sauf qu'aucun pop up ne s'affiche sur aucun navigateur si quelqu'un à une solution je suis preneur

 

je vous donne l'adresse de mon site pour que vous observez si il y a des modifications à apporter dans le theme de base .

Ma version de prestashop , version 1.5.2

 

merci d'avance

 

ps lien de mon site au cas ou

Link to comment
Share on other sites

moi j'ai un autre soucis, en fait j'ai un blog dans le répertoire blog/ a la racine du site avec un htaccess etc... pour l'url rewritting

 

http://omega-nutrition.fr/blog/category/divers-inclassable le soucis qui intervient ici c'est qu'il essaie de charger le module or il ne doit pas charger car pas sur la page index.php

 

@ jojocitron tu as bien pris la version 2.7 ?

Link to comment
Share on other sites

Bonjour à tous ce module me serait fort utile sur mon store mais rien ne s'affiche pourtant tout est activé , les bons de réductions prêt à se lancer sauf qu'aucun pop up ne s'affiche sur aucun navigateur si quelqu'un à une solution je suis preneur

 

je vous donne l'adresse de mon site pour que vous observez si il y a des modifications à apporter dans le theme de base .

Ma version de prestashop , version 1.5.2

 

merci d'avance

 

ps lien de mon site au cas ou

Quelle version du modules tu as utilisé ?

 

moi j'ai un autre soucis, en fait j'ai un blog dans le répertoire blog/ a la racine du site avec un htaccess etc... pour l'url rewritting

 

http://omega-nutriti...ers-inclassable le soucis qui intervient ici c'est qu'il essaie de charger le module or il ne doit pas charger car pas sur la page index.php

 

@ jojocitron tu as bien pris la version 2.7 ?

Essaies de renommer le nom de ta div générale sur ta boutique. Et aller dans le fichier allreduction.tpl et changer la première ligne :

{if $page_name == NouveauNom}

 

Comme ça, si la page est "NouveauNom" tu affiches le module, sinon non.

Link to comment
Share on other sites

Rebonjour à tous non j'ai la version 2.4 car je n'ai pas trouvé la version 7 ou est ce que je peux l'installer car j'en aurai besoin pour l'adpter à mon logiciel pizza .

 

tenez moi au courant

 

merci à vous tous

 

ps je viens de le faire marcher mais j'ai ce code qui s'affiche sur ma page

 

array(1) { [0]=> array(2) { ["code"]=> string(8) "Pizza007" ["name"]=> string(4) "Test" } }

 

de l'aide please :)

Edited by jojocitron (see edit history)
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...