Jump to content

[MODULE Gratuit] Anniversaire


pdriss

Recommended Posts

Bonjour,
 

Je met à votre disposition un module "Anniversaire" pour Prestashop 1.5.6.1.

En fait le module existait sur la 1.4 et à disparu avec la 1.5, comme j'en avais besoin je l'est remis au gout du jour.
 

Avant tout je tient à préciser que je ne suis ( toujours pas ) développeur....
Je tient (encore et toujours) à remercier tout ceux et celles qui par leur bout de code, module gratuit, tuto etc., mon permis de faire ce module.
Je m'excuse d'avance auprès des "Vrai" développeurs, si le code n'est pas parfaitement conforme (pourtant j'essaye toujours), et leurs critiques sont les bien venues.

Un petit rappel de "base":

1) Sauvegarder vos fichiers et votre base de données.
2) Tester le module d'abord en "local".
3) Avant de répondre à vos questions, je vérifie vos différents post sur le forum, donc si vous avez poster sans "bonjour", "merci" etc........ben...regarder ma signature :rolleyes:

 

Le module vérifie dans la base de donnée si une date de naissance correspond à la date du jour, si c'est le cas, il envoie un mail "Joyeux Anniversaire" (Voir P.J).

Vous pouvez éditer/modifier les fichiers e-mails et image en fonction de vos besoins.

 

Pour éviter la modification de la date de naissance suivre les instructions de ce Post

post-12822-0-14410800-1388776618_thumb.jpg

 

Amusez vous bien.

 

Pdriss

birthdaypresent.zip

  • Like 6
Link to comment
Share on other sites

hello,

 

Merci pour ce module, je l'ai essayer mais il n'a pas l'air de fonctionner.

En effet, l'importation du module depuis le BO => Ok 

 

install => ok

 

Config => ok

 

Ensuite, j'ai pris l'un de mes comptes sur mon site et modifier le jour d'anniversaire.

 

et lancé la tache cron plusieurs fois.

 

Mais je ne reçois aucun mail ..

 

Est ce normal ?

  • Like 1
Link to comment
Share on other sites

hello,

 

Merci pour ce module, je l'ai essayer mais il n'a pas l'air de fonctionner.

En effet, l'importation du module depuis le BO => Ok 

 

install => ok

 

Config => ok

 

Ensuite, j'ai pris l'un de mes comptes sur mon site et modifier le jour d'anniversaire.

 

et lancé la tache cron plusieurs fois.

 

Mais je ne reçois aucun mail ..

 

Est ce normal ?

 

Bonjour,

Non, cela n'est pas normal. <_<

Avez vous activer l'envoie de mail dans la configuration du module ?

Quel est votre version de prestashop ?

Il ne sert à rien  lancé la tache cron plusieurs fois, le module vérifie qu'il ne soit lancer qu'une fois par jour, vous auriez dû avoir un message d'erreur dans un popup.

Link to comment
Share on other sites

Hello,

 

Merci pour ta réponse.

 

Alors par contre je ne trouve rien concernant l'activation d'envoi de mail dans le module.

 

Il est activé ( 1 er bouton ) j'ai inscrit le type et la réduction et le nombre de mois de disponible.

 

L'utilisation partielle est désactiver.

 

Je suis en 1.5.6

 

Perso je n'ai pas eu de message d'erreur dans un popup ;) juste une nouvelle fenêtre pour dire OK ^^'

 

Bien à toi

 

Johan

Link to comment
Share on other sites

Hello,

 

Merci pour ta réponse.

 

Alors par contre je ne trouve rien concernant l'activation d'envoi de mail dans le module.

 

Il est activé ( 1 er bouton ) j'ai inscrit le type et la réduction et le nombre de mois de disponible.

 

L'utilisation partielle est désactiver.

 

Je suis en 1.5.6

 

Perso je n'ai pas eu de message d'erreur dans un popup ;) juste une nouvelle fenêtre pour dire OK ^^'

 

Bien à toi

 

Johan

ok, tout à l'air normal.

pour le message dans le popup (nouvelle fenêtre), si vous cliquer une fois= message(OK),

une deuxième fois= message(Birthday already wished).

Vérifier si le bon de réduction à bien été crée.

Si c'est le cas alors il y a un problème au niveau de l'envoi du mail.

Link to comment
Share on other sites

hello,

 

Je rectifie, le module fonctionne parfaitement, je viens de relancer la tache cron et cette fois ci, le code promotionnel à bien été crée et le mail bien envoyer.

 

La 1er fois, je n'avais pas encore configurer le serveur pour pouvoir effectuez la tache cron,

Je vais tenir cela à l’œil, voir si cella le fait bien tout les jours

 

Merci à toi

 

Johan

Link to comment
Share on other sites

hello,

 

Je rectifie, le module fonctionne parfaitement, je viens de relancer la tache cron et cette fois ci, le code promotionnel à bien été crée et le mail bien envoyer.

 

La 1er fois, je n'avais pas encore configurer le serveur pour pouvoir effectuez la tache cron,

Je vais tenir cela à l’œil, voir si cella le fait bien tout les jours

 

Merci à toi

 

Johan

Super !!

Quel commande a tu utilisé pour lancer le fichier cron depuis le serveur ?

Normalement, en cliquant sur "tester le fichier cron" cela aurais du fonctionner.

Link to comment
Share on other sites

Hello,

 

C'est via la page de config de mon serveur, c est une application que s'appelle : ISPCONFIG  ;)

Je suis sur un serveur VPS .

 

Sinon pour être sur, il y a un module prestashop pour cela : crontab Développé par : Samdha

qui permet de lancé la tache quand on veux .

 

Bien à toi

Link to comment
Share on other sites

Hello,

 

C'est via la page de config de mon serveur, c est une application que s'appelle : ISPCONFIG  ;)

Je suis sur un serveur VPS .

 

Sinon pour être sur, il y a un module prestashop pour cela : crontab Développé par : Samdha

qui permet de lancé la tache quand on veux .

 

Bien à toi

Oui, je vu passer le module de samdha, mais j'ai déjà la gestion des taches cron via cpanel.

c'étais histoire de comprendre pourquoi ca n'avais pas fonctionner chez toi, en cliquant sur tester.

sur Cpanel la commande est la suivante /usr/bin/curl -A 'Mozilla/5.0' chemin du fichier

Link to comment
Share on other sites

Bonjour,

à la relecture de mes posts précèdent je m'aperçois que je me suis sans doute mal exprimé. 

En fait dans le module, vous avez un bouton "Tester le fichier cron", si en cliquant dessus vous avez une nouvelle fenêtre qui s'ouvre avec juste 'OK'. 

C'est que tout c'est bien passer, vous devriez avoir une nouvelle règle de panier avec les paramètres que vous avez configurés.

Si vous ne recevez pas de mail en ayant cliquer sur le bouton, vérifier votre config d'envoi des mail.

En gros, si tout ce passe bien avec le bouton test, mais pas avec votre tache "Cron", cela vient de vos paramètre "Cron", pas du module.

 

J'en profite pour vous rappeler de modifier le fichier identity.tpl de votre thème pour empêcher la modification de la date de naissance.

Comme je suis de bonne humeur, je vous livre les lignes à modifiées dans le fichier. (Trouver dans ce Post)

Rechercher les lignes suivantes:

			<p class="select">
				<label>{l s='Date of Birth'}</label>
				<select name="days" id="days">
					<option value="">-</option>
					{foreach from=$days item=v}
						<option value="{$v}" {if ($sl_day == $v)}selected="selected"{/if}>{$v}  </option>
					{/foreach}
				</select>
				{*
					{l s='January'}
					{l s='February'}
					{l s='March'}
					{l s='April'}
					{l s='May'}
					{l s='June'}
					{l s='July'}
					{l s='August'}
					{l s='September'}
					{l s='October'}
					{l s='November'}
					{l s='December'}
				*}
				<select id="months" name="months">
					<option value="">-</option>
					{foreach from=$months key=k item=v}
						<option value="{$k}" {if ($sl_month == $k)}selected="selected"{/if}>{l s=$v} </option>
					{/foreach}
				</select>
				<select id="years" name="years">
					<option value="">-</option>
					{foreach from=$years item=v}
						<option value="{$v}" {if ($sl_year == $v)}selected="selected"{/if}>{$v}  </option>
					{/foreach}
				</select>
			</p>

Et les remplacer par celles-ci:

			{if !$sl_year}
			<p class="select">
				<label>{l s='Date of Birth'}</label>
				<select name="days" id="days">
					<option value="">-</option>
					{foreach from=$days item=v}
						<option value="{$v}" {if ($sl_day == $v)}selected="selected"{/if}>{$v}  </option>
					{/foreach}
				</select>
				{*
					{l s='January'}
					{l s='February'}
					{l s='March'}
					{l s='April'}
					{l s='May'}
					{l s='June'}
					{l s='July'}
					{l s='August'}
					{l s='September'}
					{l s='October'}
					{l s='November'}
					{l s='December'}
				*}
				<select id="months" name="months">
					<option value="">-</option>
					{foreach from=$months key=k item=v}
						<option value="{$k}" {if ($sl_month == $k)}selected="selected"{/if}>{l s=$v} </option>
					{/foreach}
				</select>
				<select id="years" name="years">
					<option value="">-</option>
					{foreach from=$years item=v}
						<option value="{$v}" {if ($sl_year == $v)}selected="selected"{/if}>{$v}  </option>
					{/foreach}
				</select>
			</p>
			{else}
			{foreach from=$months key=k item=v}{if ($sl_month == $k)}{assign var=my_month value={l s=$v[spam-filter]{/if}{/foreach}
			<p class="text"><label>{l s='Date of Birth'}</label>{$sl_day} - {$my_month} - {$sl_year}
			</p>
			{/if}

Voila,

@+

Pdriss

  • Like 1
Link to comment
Share on other sites

  • 3 months later...

Bonjour et un grand merci pour votre module qui me semble être un indispensable pour nos boutiques.

 

j'ai malheureusement un souci, je viens de passer d'une 1.4.11 à 1.5.6 et je ne parviens pas à le faire fonctionner.

 

J'ai paramétré un client à la date de ce jour (Anniversaire au 23/04/2014), j'ai activé le module et cliqué sur le bouton test CRON, résultat OK, si nouvel envoi du test CRON, il m'indique bien que c'est déjà fait.

 

Pourtant malheureusement je n' reçoi aucun mail

 

J'ai testé ma fonction mail et tout est OK

 

Avez vous des retours positifs sur une 1.5.6.2 qui au final est très proche de la 1.5.6

 

merci d'avance

Link to comment
Share on other sites

Bonjour,

En fait dans le module, vous avez un bouton "Tester le fichier cron", si en cliquant dessus vous avez une nouvelle fenêtre qui s'ouvre avec juste 'OK'. 

C'est que tout c'est bien passer, vous devriez avoir une nouvelle règle de panier avec les paramètres que vous avez configurés.

Si vous ne recevez pas de mail en ayant cliquer sur le bouton, vérifier votre config d'envoi des mail.

En gros, si tout ce passe bien avec le bouton test, mais pas avec votre tache "Cron", cela vient de vos paramètre "Cron", pas du module.

 

Pour la 1.5.6.2, il fonctionne parfaitement chez moi.

 

Cordialement,

Pdriss

Link to comment
Share on other sites

en effet, j'ai bien une règle panier de crée et je comprend maintenant pourquoi je n'ai pas reçu le mail puisqu'il a été envoyé à une autre personne qui avait justement son anniversaire aujourd'hui.

par contre, je ne comprend pas pourquoi il n'y en a pas eu 2 de créé.

j'ai rentré la tâche CRON directement dnas le CP de mon hébergeur et créé deux clients avec mon mail pour voir si je reçoi bien les 2 mails cette nuit.

pour le paramétrage mail de la boutique, il fonctionne donc ça devrait aller.

La suite demain...

Link to comment
Share on other sites

Bonjour,

 

suite au message de @Patrick POLBOS Orchids2 j'ai testé également en créant 3 profils avec la même date de naissance et ma tache cron s'est lancée et un seul compte à reçu le mail.

 

@pdriss peux-tu nous aider sur ce probléme ?

 

Merci encore pour ce super module.

 

Florian

Link to comment
Share on other sites

Bonjour,

 

Alors, chez moi cela fonctionne aussi bien en local, qu'en ligne.

Vérifiez les points suivant: 

 

1) Créer 2 clients avec une adresse mail différente à chaque fois.

2) Après avoir tester le fichier cron, vérifiez que 2 bons de réduction on bien été créer.

 

Pour faire vos test (c'est vous qui recevrez les mails des destinataires), vous pouvez modifier la ligne suivante en bas de la page du fichier birthdaypresent.php

$user['email'],

Par cette ligne:

strval(Configuration::get('PS_SHOP_EMAIL')),

Pour pouvoir faire plusieurs test dans le même jour, remplacer les lignes suivantes du fichier cron.php.

if (!Configuration::get('BIRTHDAY_ACTIVE'))
	die ('Birthday present not active');
if (Configuration::get('BIRTHDAY_DATE_UPD') == date('Y-m-d'))
	die ('Birthday already wished');

Par celles-ci :

//if (!Configuration::get('BIRTHDAY_ACTIVE'))
//	die ('Birthday present not active');
//if (Configuration::get('BIRTHDAY_DATE_UPD') == date('Y-m-d'))
//	die ('Birthday already wished');

Une fois vos tests effectués remettez les lignes d'origine.

Cordialement,

Pdriss

Link to comment
Share on other sites

Bonjour,

 

je viens de refaire le test en local mais aussi sur un serveur web et j'ai toujours le même souci.

 

Un seul bon de réduction est généré et un seul mail est envoyé.

 

Pourtant j'ai bien créé 2 comptes avec 2 mails différents.

 

Je ne comprends pas...

 

Florian

Link to comment
Share on other sites

Bonjour,

 

je viens de refaire le test en local mais aussi sur un serveur web et j'ai toujours le même souci.

 

Un seul bon de réduction est généré et un seul mail est envoyé.

 

Pourtant j'ai bien créé 2 comptes avec 2 mails différents.

 

Je ne comprends pas...

 

Florian

 

Moi non plus je ne comprend pas....Vous êtes sur que les dates anniversaire sont identiques ?

Link to comment
Share on other sites

ANNULE------------------------------

 

Je viens de trouver la solution.

 

Si la personne n'accepte pas de recevoir la newsletter ou le mail partenaire alors il ne reçoit pas le mail d'anniversaire....

 

C'est un peu gênant du coup.

 

--------------------------------

 

Finalement ce n'est pas la solution car je n'ai pas recu le mail et le code bon de réduction ne s'est pas créé, j'y ai cru mais c'était l'ancien bon que j'avais pas effacé.

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

Par contre j'ai une erreur maintenant sur le fichier cron pourtant je n'avais pas de souci avant.

 

( ! ) Parse error: syntax error, unexpected '.', expecting ')' in C:\wamp\www\trunk\lafinemoustache\classes\Mail.php on line 258

 

1 0.0041 154880 {main}( ) ..\cron.php:0 2 0.3358 7585424 BirthdayPresent->createTodaysVouchers( ) ..\cron.php:38 3 0.4784 7923496 Autoload->load( ) ..\cron.php:0
Link to comment
Share on other sites

 

Par contre j'ai une erreur maintenant sur le fichier cron pourtant je n'avais pas de souci avant.

 

( ! ) Parse error: syntax error, unexpected '.', expecting ')' in C:\wamp\www\trunk\lafinemoustache\classes\Mail.php on line 258

 

1 0.0041 154880 {main}( ) ..\cron.php:0 2 0.3358 7585424 BirthdayPresent->createTodaysVouchers( ) ..\cron.php:38 3 0.4784 7923496 Autoload->load( ) ..\cron.php:0

 

 

Cela indique qu'il y a un "." quelque part que php n'attend pas et une ")" qu'il attend dans le fichier Mail.php

Chez moi aucune erreurs.

Essayez de désinstaller le module et supprimer le. (dans cet ordre)

re-télécharger le module et réinstaller le.

Quel est votre version de prestashop ?

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

:P

Je crois que j'ai trouvé !

il faut que le client ait commandé au moins une fois, sinon ce n'est pas un client, c'est un visiteur...

Si vous voulez envoyer un bon d'achat à tout les inscrits client ou non.

Dans le fichier birthdaypresent.php rechercher les lignes suivantes:

		$users = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
		SELECT DISTINCT c.id_customer, firstname, lastname, email
		FROM '._DB_PREFIX_.'customer c
		LEFT JOIN '._DB_PREFIX_.'orders o ON (c.id_customer = o.id_customer)
		WHERE o.valid = 1
		AND c.birthday LIKE \'%'.date('-m-d').'\'');

les remplacées par: 

		$users = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
		SELECT DISTINCT c.id_customer, firstname, lastname, email
		FROM '._DB_PREFIX_.'customer c
		WHERE c.birthday LIKE \'%'.date('-m-d').'\'');

Ca devrais marcher...

Link to comment
Share on other sites

Bingo ca fonctionne !

 

Heureusement que ca fonctionne j'étais à cours d'idée...  :D

 

Je pense que je vais laisser le module uniquement pour les gens qui ont déjà commandé pour éviter les faux comptes.

 

Vous en pensez quoi ?

 

J'en pense que c'est pour ca que j'avais créer/laisser cette condition.....

Link to comment
Share on other sites

  • 4 months later...

Bonjour, je viens de voir que le Module Cadeau d'anniversaire est bien présent en natif sur PS 1.5.6.2, on peut le trouver dans "Prix & Promotions", sauf que si je l'installe j'obtiens ce message :

[PrestaShop] Fatal error in module birthdaypresent:
Call to undefined method Discount::getDiscountTypes()

J'ai cherché sur le forum, mais je n'ai pas réussi à trouver une solution sauf votre topic.

Sauriez-vous d’où provient le problème? Ou une solution pour que cela fonctionne?

Merci pour votre aide :)

Link to comment
Share on other sites

Bonjour, je viens de voir que le Module Cadeau d'anniversaire est bien présent en natif sur PS 1.5.6.2, on peut le trouver dans "Prix & Promotions", sauf que si je l'installe j'obtiens ce message :

[PrestaShop] Fatal error in module birthdaypresent:
Call to undefined method Discount::getDiscountTypes()

J'ai cherché sur le forum, mais je n'ai pas réussi à trouver une solution sauf votre topic.

Sauriez-vous d’où provient le problème? Ou une solution pour que cela fonctionne?

Merci pour votre aide :)

 

Bonjour,

La solution est dans le message d'erreur, le programme ne trouve pas la méthode "Discount::getDiscountTypes()" 

Etes vous sur de votre version Prestashop ?

Je ne peu pas vous aidé d'avantage, je suis sous la version 1.6

Link to comment
Share on other sites

Quelqu'un a réussi a faire fonctionner le module sous Prestashop 1.6 ?

Si oui quel version ??

Moi je suis en 1.6.0.8 j'ai installé le module il à l air fonctionnelle mais aucun mail n'est envoyé en apparence pour le moment ...

 

J'ai fait un faux profil avec une date du jour . La tache cron est ok pour s'executer chaque jour et toutes les heures ... 

Le bon de réduction est crée mais le mail n'est pas envoyé ...  :wacko:

 

Je ne comprend pas pourquoi le mail n'est pas envoyé ?

Avez vous des idées afin que le module fonctionne ?

 

Merci d'avance de votre soutien !!

Lokiiy

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

Bonjour, 

 

Hier j'avais créer un nouveau client avec une commande validé...

J'ai attendu de voir si la tache cron mise en place toutes les heures et tous les jours allait faire son travail mais rien ...

 

Par contre en cliquant à l'instant sur le bouton tache cron dans le module ...

Ca ma bien générer le bon de réduction et le mail est bien partii .... 

 

Je vais tenter de paramètre une tache cron ailleurs que chez OVH pour voir avec encore un news profil qui a passé commande si ca fonctionne s'en faire l'appelle à la main ... 

Link to comment
Share on other sites

Bonjour, je viens de voir que le Module Cadeau d'anniversaire est bien présent en natif sur PS 1.5.6.2, on peut le trouver dans "Prix & Promotions", sauf que si je l'installe j'obtiens ce message :

[PrestaShop] Fatal error in module birthdaypresent:
Call to undefined method Discount::getDiscountTypes()

J'ai cherché sur le forum, mais je n'ai pas réussi à trouver une solution sauf votre topic.

Sauriez-vous d’où provient le problème? Ou une solution pour que cela fonctionne?

Merci pour votre aide :)

 

J'ai beau regarder partout je ne trouve pas de "Prix & Promotions" sur mon 1.5.6.2 :unsure:

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

  • 2 months later...

Très sympa ce module et fonctionne très bien :)

 

Une idée pour que le client n'ait qu'un seul bon par an et n'en reçoive pas un chaque jour juste en changeant sa date de naissance ?

 

C'est vicieux lol mais quand je vois déjà avec le parrainage, il y a souvent des tricheries.

 

Pour la durée du bon de réduction, ce serait sympa en jours plutôt qu'en mois, perso je mettrai 7 jours pas plus ;)

 

Et tant que j'y suis ( que j'aimerais savoir doder ;) ) un email de rappel avant la fin du bon serait le top !

Link to comment
Share on other sites

 

Très sympa ce module et fonctionne très bien :)

 

Une idée pour que le client n'ait qu'un seul bon par an et n'en reçoive pas un chaque jour juste en changeant sa date de naissance ?

C'est vicieux lol mais quand je vois déjà avec le parrainage, il y a souvent des tricheries. 

 

J'ai déjà donné la réponse ici:

http://www.prestashop.com/forums/topic/299261-module-gratuit-anniversaire/?do=findComment&comment=1516191

 

 

Pour la durée du bon de réduction, ce serait sympa en jours plutôt qu'en mois, perso je mettrai 7 jours pas plus ;)

 

Et tant que j'y suis ( que j'aimerais savoir doder ;) ) un email de rappel avant la fin du bon serait le top !

 

J'ai pas vraiment le temps de m'en occupé, vous devrez modifiez les fichiers vous-même.

cordialement,

Pdriss

Link to comment
Share on other sites

 

Il semblerait que pour une version de Prestashop 1.6.0.9 le code à modifier ne soit pas le même !! 

Si quelqu'un à des informations concernant cette modifications ....

 

Hésitez pas à partager le bout de code ...  Qui bloquera la modifications des dates d'anniversaires ... 

Link to comment
Share on other sites

J'ai déjà donné la réponse ici:

http://www.prestashop.com/forums/topic/299261-module-gratuit-anniversaire/?do=findComment&comment=1516191

 

 

J'ai pas vraiment le temps de m'en occupé, vous devrez modifiez les fichiers vous-même.

cordialement,

Pdriss

 

Merci, j'aurais du tout lire, modif faite et plus de changement de date de naissance possible après coup :)

 

Pour la validité en jours, je n'ai pas les compétences pour le faire, si vous avez le temps un jour, ce serait sympa :)

 

Une durée courte comme 1 semaine booste le client pour commander et ça reste très proche de l'anniversaire ;)

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

  • 2 weeks later...

Merci pour ce module je vais le tester, ca peut être bien utile .

 

Pour presta 1.6 la modif de identity.tpl est : 

           <div class="form-group">
                    <label>
                        {l s='Date of Birth'}
                    </label>
                    <div class="row">

                      {if !$sl_year}
                        <div class="col-xs-4">
                            <select name="days" id="days" class="form-control">
                                <option value="">-</option>
                                {foreach from=$days item=v}
                                    <option value="{$v}" {if ($sl_day == $v)}selected="selected"{/if}>{$v}  </option>
                                {/foreach}
                            </select>

                        </div>
                        <div class="col-xs-4">
                            <select id="months" name="months" class="form-control">
                                <option value="">-</option>
                                {foreach from=$months key=k item=v}
                                    <option value="{$k}" {if ($sl_month == $k)}selected="selected"{/if}>{l s=$v} </option>
                                {/foreach}
                            </select>
                        </div>
                        <div class="col-xs-4">
                            <select id="years" name="years" class="form-control">
                                <option value="">-</option>
                                {foreach from=$years item=v}
                                    <option value="{$v}" {if ($sl_year == $v)}selected="selected"{/if}>{$v}  </option>
                                {/foreach}
                            </select>
                        </div>
                        {else}
                        {*
                          {l s='January'}
                          {l s='February'}
                          {l s='March'}
                          {l s='April'}
                          {l s='May'}
                          {l s='June'}
                          {l s='July'}
                          {l s='August'}
                          {l s='September'}
                          {l s='October'}
                          {l s='November'}
                          {l s='December'}
                        *}
                        <div class="col-xs-4">
                          <span>{$sl_day}</span>
                          <span>
                            {foreach from=$months key=k item=month}
                            {if ($sl_month == $k)} {l s=$month} {/if}
                            {/foreach}
                          </span>
                          <span> {$sl_year}</span>
                        </div>
                        {/if}
                    </div>
                </div>

Cette partie permet de faire la traduction des mois dans l'outils de traduction prestashop (Onglet identity)

                        {*
                          {l s='January'}
                          {l s='February'}
                          {l s='March'}
                          {l s='April'}
                          {l s='May'}
                          {l s='June'}
                          {l s='July'}
                          {l s='August'}
                          {l s='September'}
                          {l s='October'}
                          {l s='November'}
                          {l s='December'}
                        *}
Edited by totoche33 (see edit history)
Link to comment
Share on other sites

 

Merci pour ce module je vais le tester, ca peut être bien utile .

 

Pour presta 1.6 la modif de identity.tpl est : 

         

 

Est-ce que pour que  cela soit plus clair tu peux préciser ta version de Prestashop ?? 1.6.0.X ..

Et remettre le bout de code d'origine a remplacer par 

 

Parce que la du coup c'est pas très clair !!!

 

Ou modifier de la ligne XXX à la ligne XXX ca serait vraiment sympa !! 

 

Mmerci d'avance de ton soutien !!

Link to comment
Share on other sites

Oui autant pour moi.

 

Prestashop 1.6.0.6 mais normalement ne change pas sur les versions supérieures.

 

Pour le bout de code il ce situe à partie de la ligne 87 du fichier identity.tpl (d'où la numérotation dans mon bloc de code ;)

 

Le code d'origine est :

  <div class="form-group">
                    <label>
                        {l s='Date of Birth'}
                    </label>
                    <div class="row">
                        <div class="col-xs-4">
                            <select name="days" id="days" class="form-control">
                                <option value="">-</option>
                                {foreach from=$days item=v}
                                    <option value="{$v}" {if ($sl_day == $v)}selected="selected"{/if}>{$v}  </option>
                                {/foreach}
                            </select>
 
                        </div>
                        <div class="col-xs-4">
                            <select id="months" name="months" class="form-control">
                                <option value="">-</option>
                                {foreach from=$months key=k item=v}
                                    <option value="{$k}" {if ($sl_month == $k)}selected="selected"{/if}>{l s=$v} </option>
                                {/foreach}
                            </select>
                        </div>
                        <div class="col-xs-4">
                            <select id="years" name="years" class="form-control">
                                <option value="">-</option>
                                {foreach from=$years item=v}
                                    <option value="{$v}" {if ($sl_year == $v)}selected="selected"{/if}>{$v}  </option>
                                {/foreach}
                            </select>
                        </div>
                  
                    </div>
                </div>

à remplacer par 

  <div class="form-group">
                    <label>
                        {l s='Date of Birth'}
                    </label>
                    <div class="row">
 
                      {if !$sl_year}
                        <div class="col-xs-4">
                            <select name="days" id="days" class="form-control">
                                <option value="">-</option>
                                {foreach from=$days item=v}
                                    <option value="{$v}" {if ($sl_day == $v)}selected="selected"{/if}>{$v}  </option>
                                {/foreach}
                            </select>
 
                        </div>
                        <div class="col-xs-4">
                            <select id="months" name="months" class="form-control">
                                <option value="">-</option>
                                {foreach from=$months key=k item=v}
                                    <option value="{$k}" {if ($sl_month == $k)}selected="selected"{/if}>{l s=$v} </option>
                                {/foreach}
                            </select>
                        </div>
                        <div class="col-xs-4">
                            <select id="years" name="years" class="form-control">
                                <option value="">-</option>
                                {foreach from=$years item=v}
                                    <option value="{$v}" {if ($sl_year == $v)}selected="selected"{/if}>{$v}  </option>
                                {/foreach}
                            </select>
                        </div>
                        {else}
                        {*
                          {l s='January'}
                          {l s='February'}
                          {l s='March'}
                          {l s='April'}
                          {l s='May'}
                          {l s='June'}
                          {l s='July'}
                          {l s='August'}
                          {l s='September'}
                          {l s='October'}
                          {l s='November'}
                          {l s='December'}
                        *}
                        <div class="col-xs-4">
                          <span>{$sl_day}</span>
                          <span>
                            {foreach from=$months key=k item=month}
                            {if ($sl_month == $k)} {l s=$month} {/if}
                            {/foreach}
                          </span>
                          <span> {$sl_year}</span>
                        </div>
                        {/if}
                    </div>
                </div>

Pour faire plus simple, il faut :

  <div class="form-group">
                    <label>
                        {l s='Date of Birth'}
                    </label>
                    <div class="row">
 
                      {if !$sl_year}
                      <!-- CODE PRESTASHOP (l 92 à l 116) -->
                        {else}
                        {*
                          {l s='January'}
                          {l s='February'}
                          {l s='March'}
                          {l s='April'}
                          {l s='May'}
                          {l s='June'}
                          {l s='July'}
                          {l s='August'}
                          {l s='September'}
                          {l s='October'}
                          {l s='November'}
                          {l s='December'}
                        *}
                        <div class="col-xs-4">
                          <span>{$sl_day}</span>
                          <span>
                            {foreach from=$months key=k item=month}
                            {if ($sl_month == $k)} {l s=$month} {/if}
                            {/foreach}
                          </span>
                          <span> {$sl_year}</span>
                        </div>
                        {/if}
                    </div>
                </div>

En espérant t'avoir aider.

Link to comment
Share on other sites

Oui tout à fait il est possible de le mettre sur une ligne cela va dépendre du mois je n'ai pas fait attention à ca il faut que je corrige de mon coté du coup ;)

 

Il s'agit de la classe col-xs-4 dans le "else" qui pose problème sur les longues lignes

 

il faut modifier la ligne 134 : 

<div class="col-xs-4">

en 

<div style="padding-left: 5px">

sachant que le padding left permet de gérer le décalage vous pouvez modifier la valeur comme bon vous semble.

 

 

De plus je peux voir sur votre screen que le mois et en anglais, vous avez du oublier de faire la traduction dans le backoffice 

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

  • 1 month later...

Bonjour je suis sur 1.6.11 et le fichier identily.tpl n'est pas le même une idée ? Merci

     <div class="form-group">
                    <label>
                        {l s='Date of Birth'}
                    </label>
                    <div class="row">
                        <div class="col-xs-4">
                            <select name="days" id="days" class="form-control">
                                <option value="">-</option>
                                {foreach from=$days item=v}
                                    <option value="{$v}" {if ($sl_day == $v)}selected="selected"{/if}>{$v}  </option>
                                {/foreach}
                            </select>
                        </div>
                        <div class="col-xs-4">
							{*
								{l s='January'}
								{l s='February'}
								{l s='March'}
								{l s='April'}
								{l s='May'}
								{l s='June'}
								{l s='July'}
								{l s='August'}
								{l s='September'}
								{l s='October'}
								{l s='November'}
								{l s='December'}
							*}
                            <select id="months" name="months" class="form-control">
                                <option value="">-</option>
                                {foreach from=$months key=k item=v}
                                    <option value="{$k}" {if ($sl_month == $k)}selected="selected"{/if}>{l s=$v} </option>
                                {/foreach}
                            </select>
                        </div>
                        <div class="col-xs-4">
                            <select id="years" name="years" class="form-control">
                                <option value="">-</option>
                                {foreach from=$years item=v}
                                    <option value="{$v}" {if ($sl_year == $v)}selected="selected"{/if}>{$v}  </option>
                                {/foreach}
                            </select>
                        </div>
                    </div>
                </div>
Link to comment
Share on other sites

 

Bonjour je suis sur 1.6.11 et le fichier identily.tpl n'est pas le même une idée ? Merci

     <div class="form-group">
                    <label>
                        {l s='Date of Birth'}
                    </label>
                    <div class="row">
                        <div class="col-xs-4">
                            <select name="days" id="days" class="form-control">
                                <option value="">-</option>
                                {foreach from=$days item=v}
                                    <option value="{$v}" {if ($sl_day == $v)}selected="selected"{/if}>{$v}  </option>
                                {/foreach}
                            </select>
                        </div>
                        <div class="col-xs-4">
							{*
								{l s='January'}
								{l s='February'}
								{l s='March'}
								{l s='April'}
								{l s='May'}
								{l s='June'}
								{l s='July'}
								{l s='August'}
								{l s='September'}
								{l s='October'}
								{l s='November'}
								{l s='December'}
							*}
                            <select id="months" name="months" class="form-control">
                                <option value="">-</option>
                                {foreach from=$months key=k item=v}
                                    <option value="{$k}" {if ($sl_month == $k)}selected="selected"{/if}>{l s=$v} </option>
                                {/foreach}
                            </select>
                        </div>
                        <div class="col-xs-4">
                            <select id="years" name="years" class="form-control">
                                <option value="">-</option>
                                {foreach from=$years item=v}
                                    <option value="{$v}" {if ($sl_year == $v)}selected="selected"{/if}>{$v}  </option>
                                {/foreach}
                            </select>
                        </div>
                    </div>
                </div>

Salut , ton fichier tu l'as modifier ce que je vois ?

Link to comment
Share on other sites

BONJOUR manu1238,

Comme indiqué dans le module, il faut que le client ait passé une commande qui soit validée pour que l'email d'anniversaire soit envoyé.

Il faut aussi que la date d'anniversaire soit valide (jour de l'appel du script).

Il faut aussi que la tache cron soit valide.

Fais d'abord un test en cliquant sur le bouton Tester le fichier cron.
Si tu reçois l'email c'est que ta CRON est mal faite.

BONNE JOURNEE

Link to comment
Share on other sites

  • 3 weeks later...

Bonjour,

 

Je ne sais pas si ma question est dans le bon sujet.

Voilà,

 

Je viens d'installer votre module, j'ai créer un client avec une commande validée, ensuite j'ai configurer votre module

 

 

Actif : oui

Type : montant en euros

valeur : 10 euros

Valide : 3 mois

Minimum commande : 30 euros

Utilisation partielle : Non

 

J'ai tester le fichier Cron : Ok, règle panier : ok, email reçu : ok

 

 

Par contre j'ai un soucis avec la tache cron.

 

J'ai bien entrer l'url, que fournit le module ( mon url /modules/birthdaypresent/cron.php  )

j'ai configurer cron pour tous les jours, toutes les heures , tous les mois, toutes les semaines.

 

En mode Basic

 

Pourtant il ne fait rien, je suis obliger de le faire manuellement pour qu'il envoi la carte d'anniversaire

 

Je vois dans le module cron il écrit ( last execution : Never )

One shot : désactivé

module : activé

 

 

Je suis en 1.6.0.11  et mon hébergement est chez one.com

 

J'ai également installé votre fichier Identity

 

Tout fonctionne sauf la fonction cron, comment faire pour le configurer correctement pour que cela se fait automatiquement ?

 

Sinon c'est parfait.

 

Merci

Link to comment
Share on other sites

Bonjour,

 

Je ne sais pas si ma question est dans le bon sujet.

Voilà,

 

Je viens d'installer votre module, j'ai créer un client avec une commande validée, ensuite j'ai configurer votre module

 

 

Actif : oui

Type : montant en euros

valeur : 10 euros

Valide : 3 mois

Minimum commande : 30 euros

Utilisation partielle : Non

 

J'ai tester le fichier Cron : Ok, règle panier : ok, email reçu : ok

 

 

Par contre j'ai un soucis avec la tache cron.

 

J'ai bien entrer l'url, que fournit le module ( mon url /modules/birthdaypresent/cron.php  )

j'ai configurer cron pour tous les jours, toutes les heures , tous les mois, toutes les semaines.

 

En mode Basic

 

Pourtant il ne fait rien, je suis obliger de le faire manuellement pour qu'il envoi la carte d'anniversaire

 

Je vois dans le module cron il écrit ( last execution : Never )

One shot : désactivé

module : activé

 

 

Je suis en 1.6.0.11  et mon hébergement est chez one.com

 

J'ai également installé votre fichier Identity

 

Tout fonctionne sauf la fonction cron, comment faire pour le configurer correctement pour que cela se fait automatiquement ?

 

Sinon c'est parfait.

 

Merci

Salut pour la fonction cron j'avais un soucis, ça venait de mon hébergeur !

Link to comment
Share on other sites

Merci pour votre réponse soyons solidaires,

 

Je viens de contacter mon hébergeur et malheureusement il vient de m'annoncer que mon hébergement ne supporte pas les taches Cron et que je ne pouvais pas  employé cette fonction.

 

Donc malheureusement je ne peut pas employé le module anniversaire, un peu dégouté quand même, c'était super comme module.

 

Cordialement

Link to comment
Share on other sites

Bonsoir à tous, j'utilise le module en version 1.5 et un client viens de me faire constater que les bons de réductions générés ne fonctionnent pas ce que j'ai vérifié, il n'y a aucun message d'erreur mais le code n'est pas ajouté au panier.

J'ai généré un code avec les mêmes caractéristiques et tout est OK

le problème est identique avec le module de parrainage.

je suis en PS 1.5.6.2

 

avez vous déjà rencontré ce problème, une piste?

 

merci d'avance de votre aide

Link to comment
Share on other sites

Bonsoir à tous, j'utilise le module en version 1.5 et un client viens de me faire constater que les bons de réductions générés ne fonctionnent pas ce que j'ai vérifié, il n'y a aucun message d'erreur mais le code n'est pas ajouté au panier.

J'ai généré un code avec les mêmes caractéristiques et tout est OK

le problème est identique avec le module de parrainage.

je suis en PS 1.5.6.2

 

avez vous déjà rencontré ce problème, une piste?

 

merci d'avance de votre aide

 

Je suis sous Prestashop 1.6.0.9 je rencontre le même problème

Les bon de réductions généré par le module Anniversaire ne fonctionne pas quand ont veux les ajouter au panier ... La réduction ne s'applique pas 

 

Pareil c'est un client qui me la fait remarqué !!! 

Pas cool pour les autres clients qui ont du constater le beug sans faire de retour .....

 

Avez vous une solution ? Un début de piste ? 

Link to comment
Share on other sites

A mon avis il y en a d autre qui ont le soucis mais peut être pas eu de retour clients...

Alors quand tu crois que le module fonctionne bien ... Tu t'inquiète pas ..

 

Mais moi non plus toujours pas résolu le problème  :unsure:

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

Pour ma part je viens de migrer de Prestashop 1.4.11 vers la 1.6.0.14

et me suis donc aperçu que le module anniversaire d'origine ne fonctionnait plus.

j ai donc désinstallé le précédent (celui de la 1.4.11 qui était livré avec Prestashop) et installé celui-ci.

et tout fonctionne trés bien (mail bien généré, et bon de réduction fonctionnel) cf capture ci jointe.

 

Avez vous essayé une désinstallation / réinstallation ?

sinon, c'est peut être la version de Prestashop qui pose souci.

en tout cas 1.6.0.14, RAS ! merci au développeur.

 

dkd90xk.png

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

Avez vous essayé une désinstallation / réinstallation ?

sinon, c'est peut être la version de Prestashop qui pose souci.

 

Pour le moment je suis toujours sur Prestashop 1.6.0.9 

J'ai désinstallé complètement le module pour le réinstaller et rien ne change ...  :wacko:

Si vous avez la 1.6.0.9 et des soucis avec le module anniversaire faite moi le savoir que je sache si la version en est la cause .. 

 

Mercii 

Link to comment
Share on other sites

Pour le moment je suis toujours sur Prestashop 1.6.0.9 

J'ai désinstallé complètement le module pour le réinstaller et rien ne change ...  :wacko:

Si vous avez la 1.6.0.9 et des soucis avec le module anniversaire faite moi le savoir que je sache si la version en est la cause .. 

 

Mercii 

Bonjour à tous, Si tu veux je te mets la version que j'ai ? elle fonctionne sur la 1.6.0.9

Link to comment
Share on other sites

Bonjour à tous, Si tu veux je te mets la version que j'ai ? elle fonctionne sur la 1.6.0.9

 

Yes je veux bien ... Faut bien que j'arrive à le faire fonctionner le module ... 

Tout fonctionne bien sauf quand le bon est ajouté ... Il apparaît pas ... Non visible 

Link to comment
Share on other sites

Bonjour,

à la relecture de mes posts précèdent je m'aperçois que je me suis sans doute mal exprimé. 

En fait dans le module, vous avez un bouton "Tester le fichier cron", si en cliquant dessus vous avez une nouvelle fenêtre qui s'ouvre avec juste 'OK'. 

C'est que tout c'est bien passer, vous devriez avoir une nouvelle règle de panier avec les paramètres que vous avez configurés.

Si vous ne recevez pas de mail en ayant cliquer sur le bouton, vérifier votre config d'envoi des mail.

En gros, si tout ce passe bien avec le bouton test, mais pas avec votre tache "Cron", cela vient de vos paramètre "Cron", pas du module.

 

J'en profite pour vous rappeler de modifier le fichier identity.tpl de votre thème pour empêcher la modification de la date de naissance.

Comme je suis de bonne humeur, je vous livre les lignes à modifiées dans le fichier. (Trouver dans ce Post)

Rechercher les lignes suivantes:

			<p class="select">
				<label>{l s='Date of Birth'}</label>
				<select name="days" id="days">
					<option value="">-</option>
					{foreach from=$days item=v}
						<option value="{$v}" {if ($sl_day == $v)}selected="selected"{/if}>{$v}  </option>
					{/foreach}
				</select>
				{*
					{l s='January'}
					{l s='February'}
					{l s='March'}
					{l s='April'}
					{l s='May'}
					{l s='June'}
					{l s='July'}
					{l s='August'}
					{l s='September'}
					{l s='October'}
					{l s='November'}
					{l s='December'}
				*}
				<select id="months" name="months">
					<option value="">-</option>
					{foreach from=$months key=k item=v}
						<option value="{$k}" {if ($sl_month == $k)}selected="selected"{/if}>{l s=$v} </option>
					{/foreach}
				</select>
				<select id="years" name="years">
					<option value="">-</option>
					{foreach from=$years item=v}
						<option value="{$v}" {if ($sl_year == $v)}selected="selected"{/if}>{$v}  </option>
					{/foreach}
				</select>
			</p>

Et les remplacer par celles-ci:

			{if !$sl_year}
			<p class="select">
				<label>{l s='Date of Birth'}</label>
				<select name="days" id="days">
					<option value="">-</option>
					{foreach from=$days item=v}
						<option value="{$v}" {if ($sl_day == $v)}selected="selected"{/if}>{$v}  </option>
					{/foreach}
				</select>
				{*
					{l s='January'}
					{l s='February'}
					{l s='March'}
					{l s='April'}
					{l s='May'}
					{l s='June'}
					{l s='July'}
					{l s='August'}
					{l s='September'}
					{l s='October'}
					{l s='November'}
					{l s='December'}
				*}
				<select id="months" name="months">
					<option value="">-</option>
					{foreach from=$months key=k item=v}
						<option value="{$k}" {if ($sl_month == $k)}selected="selected"{/if}>{l s=$v} </option>
					{/foreach}
				</select>
				<select id="years" name="years">
					<option value="">-</option>
					{foreach from=$years item=v}
						<option value="{$v}" {if ($sl_year == $v)}selected="selected"{/if}>{$v}  </option>
					{/foreach}
				</select>
			</p>
			{else}
			{foreach from=$months key=k item=v}{if ($sl_month == $k)}{assign var=my_month value={l s=$v[spam-filter]{/if}{/foreach}
			<p class="text"><label>{l s='Date of Birth'}</label>{$sl_day} - {$my_month} - {$sl_year}
			</p>
			{/if}

Voila,

@+

Pdriss

 

Bonsoir,

 

Je viens de me rendre compte d'un bug bien gênant ( sous PS 1.5.4.1 ) quand on applique cette modification :

 

SI le client va dans ses données personnelles et coche ( ou décoche ) l'inscription à la newsletter, cela supprime sa date de naissance :blink:

 

Et le pire, cest que quand il veut accéder de nouveau à ses infos personnelles, la page est plantée et il voit le message Prestashop : " Oops, something went wrong.

 

Try to refresh this page or feel free to contact us if the problem persists. "

 

J'ai essayé sans le code ci-dessus, tout est OK, c'est bien lui qui produit ce bug.

 

Comment corriger cela ?

Link to comment
Share on other sites

Je viens aussi de simuler le problème.... Je confirme ca beug

Mais heuu pourquoi tu me fais rager encore plus que mon problème de bon de réduction qui veux pas apparaître dans le panier ... 

 

Bon ben c'est clair qu'il va falloir trouver une solution ... 

Moi j'ai remis la date de naissance dans le fichier client dans le BO... Ça fonctionne

 

Tiens peut être que si je supprime le code du fichier identity.tpl (car je l'avais déjà intégré) mon bon de réduction qui sera générer va fonctionner ...

C'est peut être lié après tout ... 

Jvais tester je ferrais mon retour

Link to comment
Share on other sites

Désolé d'en rajouter :(

Pour le bon de réduction, je ne peux te dire, je n'utilise pas le module mais j'avais lu la manip pour la date de naissance sur ce topic.

 

Un client m'a signalé son souci d'accès et en enquêtant j'ai pu trouver que cela venait de cette modif.

 

Du coup ça fait 2 gris bugs bien gênant :(

Ce serait sympa que pdriss nous réponde, il vient sur le forum mais ne poste plus.

 

Pour ma part, je n'y connais rien, donc aucune idée, j'espère que quelqu'un pourra nous aider ?

Link to comment
Share on other sites

Pourquoi je dois modifier le fichier identity.tpl 

Le module influe dessus ? 

 

Sinon ta version c'est la même que le premier post ??? 

Car j'ai de toute façon installé celle ci ... 

Oui chez moi elle fonctionne pour le fichier identity.tpl  https://www.prestashop.com/forums/topic/299261-module-gratuit-anniversaire/?do=findComment&comment=1516191 Amitiés

Link to comment
Share on other sites

Retour d'expérience...

 

J'ai enfin réussi a identifier d'ou vient le problème .... Mais je ne sais pas comment le régler...

 

Le bon de réduction "votre cadeau d'anniversaire apparaît dans le panier "visible" que si j'enlève utilisation partielle dans les règle du panier ...

 

Donc je suppose qu'il faudrait pouvoir régler la génération automatique des bons de réductions anniversaire sur utilisation non partielle et ça réglerais mon problème mais je ne sais pas trop ou regarder pour le coup... Je connais pas grand chose au PHP

 

Si quelqu’un à une idée une solution une piste ... Je suis par la !! 

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