herve

Module (re) captcha pour le formulaire de contact prestashop

Les formulaire de contacts sont de plus en plus soumis aux spams, ce qui devient assez agaçant…, malheureusement le formulaire de contact de prestashop ne fait pas exeption à la règle.

Voici donc un module qui vous permettra d’ajouter l’excellent « Recaptcha » de google à votre formulaire de contact prestashop.

captcha prestashop formulaire de contact

Pour commencer, ouvrez le fichier « contact-form.tpl » de votre dossier thème et saissez le code suivant :

1
2
3
4
5
6
{if $captcha }
<p>
<label for="captcha">{l s='Captcha'}</label>
<div style="float:left;margin-left: 0.7em;">{$captcha}</div>
</p>
{/if}

après les lignes suivantes :
( Je l’ai inséré après le champ message, mais c’est à adapter en fonction de l’endroit souhaité )

1
2
3
4
<p>
<label for="message">{l s='Message'}</label>
<textarea id="message" name="message" rows="15" cols="20" style="width:340px;height:220px">{if isset($message)}{$message|escape:'htmlall':'UTF-8'|stripslashes}{/if}</textarea>
</p>

Vous pouvez ensuite télécharger et installer le module.
Une fois le module installé, il sera nécessaire de récupérer des clés publiques et privées sur le site de recaptcha pour activer le module
http://www.google.com/recaptcha/whyrecaptcha

Module (re) captcha pour le formulaire de contact prestashop Lire la suite »

Prestashop : Amélioration de la pagination dans l’administration

Voici un nouveau module pratique qui va nous permettre de naviguer plus facilement dans l’administration des produits Prestashop. ( versions 1.4)
Dans le cas  ou certaines catégories contiennent beaucoup de produits, la navigation au sein de ces produits peut être compliquée.
page-admin-prestashop

Dans l’exemple ci-dessus, pour atteindre la page 49 , il serait nécessaire de cliquer pas moins de 48 fois ! ( en conservant la pagination à 50 élément j’en conviens 😉 , mais c’est pour l’exemple )

Nous allons donc remplacer le texte correspondant à la page en cours par un champ texte, qui nous permettra de saisir sur quelle page nous souhaitons nous rendre.

Pour ce faire il est nécessaire de surcharger la fonction displayListHeader de la classe AdminTab.
Voici le contenu de ma surcharge.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
<?php

Prestashop : Amélioration de la pagination dans l’administration Lire la suite »

Nouvelle catégorie : Serveurs dédiés

J’ai acquis il y a quelques semaines déjà un serveur dédié de type Kimsufi 2G 2013
Cette offre est vraiment très intéressantes pour toutes les personnes comme moi qui souhaitent disposer d’un serveur personnel pour héberger quelques petits sites, réaliser des backups et tester tout ce qu’il n’est pas possible de faire sur un hébergement mutualisé.
Le tout pour un prix relativement modique ( même pas le prix d’un hébergement mutualisé de type pro chez le même hébergeur).
Au vu du succès rencontré par l’offre, les stocks initiaux ont vite été épuisés et nombreux sont ceux (doit moi ^^ ) qui attendent leur réapparition !

Cela m’a permis de (re)mettre un peu les main dans la configuration des serveurs dédiés, et de constater qu’il était toujours compliqué de trouver des ressources à jour pour réaliser tout ce que je souhaitais.

Une nouvelle série d’articles est donc prévue prochainement sur le sujet 😉
La distribution de base que j’ai choisie étant  « Ubuntu 12.04.3 LTS »

 

La suite bientôt,…

Nouvelle catégorie : Serveurs dédiés Lire la suite »

Prestashop : Bouton d’impression pour les images avec fancybox

Voici un petit tips pour rajouter facilement un bouton d’impression pour prestashop dans la popin fancyBox sans toucher au code source du plugin

 

Dans le fichier /themes/yourtheme/product.css

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#fancybox-print-item {
  width:50px;
  height:44px;
  background-image:url('../img/print-sheet.png');
  background-repeat:no-repeat;
  float:right;
  position:relative;
  margin-top:-44px;
  margin-right:4px;
  z-index:1103;
}
#fancybox-print-item a{ 
   width:50px;
   height:44px;
   display:block;
}

Dans le fichier themes/yourtheme/product.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//Ajout d'une fonction d'impression à fancyBox
$('#fancybox-close').

Prestashop : Bouton d’impression pour les images avec fancybox Lire la suite »

Background de site cliquable en css

J’ai récemment recherché comment rendre le background d’un site cliquable de manière simple, après pas mal de recherche je n’ai rien trouvé qui correspondait exactement à ce que je voulais.
Mon objectif étant d’avoir un habillage cliquable un peu comme sur le site du figaro ou de la redoute.

Voici une structure de base de background cliquable en css

Voici le code html de la page, très simple.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Example habillage de site web</title>
<link href="habillage.css" rel="stylesheet" type="text/css" />
</head>
 
<body>
<div id="habillage_site">
<a href="#"><img src="images/img-trans.png" /></a>
</div>
<div>
<div>
<p>Menu de gauche</p>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3     </li>
</ul>
</div>
<div>
<h2>Contenu du block principal </h2>
<p>Contenu page </p>
</div>
<div>
&copy; H-hennes 2013
</div>
</div>
</body>
</html>

Background de site cliquable en css Lire la suite »

Prestashop problème max_input_vars en hébergement mutualisé chez ovh

Voici une petite astuce pratique pour tout ceux qui ont un hébergement mutualisé  avec la solution Prestashop chez l’hébergeur OVH
La limite de la variable php est fixée à 2000 éléments.

Cependant dans certains cas il peut être nécessaire d’augmenter cette valeur comme sur la capture ci-dessous dans la page des traductions.

Max input var ovh et traduction Prestashop

La solution est de placer un .htacess dans le dossier de l’administration avec le contenu suivant :

SetEnv PHP_VER 5.2

Les traductions sont à présent accessibles 🙂

Max input var ovh et traduction Prestashop

 

Edit 2016 :
A ma connaissance cette solution ne fonctionne plus chez ovh.
Si vous souhaitez ajouter uniquement quelques traductions manuellement vous pouvez consulter l’article :

Prestashop : Ajouter vos traductions dans les fichiers de traductions

Prestashop problème max_input_vars en hébergement mutualisé chez ovh Lire la suite »

Mantis bugtracker : plugin d’envoi d’un récapitulatif hebdomadaire des bugs

Voici mon dernier plugin pour Mantis Bugtracker.
L’objectif de celui-ci est d’envoyer en début de semaine à chaque développeur un récapitulatif des bugs à traiter.
Ce module se base sur le traitement des échéances des bugs ( champ due_date )
(C’est un module très basique, il est possible d’optimiser encore pleins de points 😉 )

Nous allons l’appeller « Reminder »
Voici le mode opératoire de création de ce module.

Pour commencer nous allons créer un dossier « Reminder » dans le dossier « plugins » de mantis BugtrackerVoici le fichier de déclaration du module « Reminder.php »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
	Plugin Reminder pour Mantis BugTracker :
 
	 - Envoi d'un email récapitulatif des échéances de la semaine aux développeurs
 
	 @version 0.1.0 - 2013-07-23
	 @autor Hervé Hennes <[email protected]>
*/
 
class ReminderPlugin extends MantisPlugin {
 
	function register() {
		$this->name        = 'ReminderPlugin';
		$this->description = 'Envoi d\'un email récapitulatif des échéances de la semaine aux développeurs';
		$this->version     = '0.1.0';
		$this->requires    = array('MantisCore'       => '1.2.0',);
		$this->author      = 'Hennes Hervé';
		$this->url         = 'http://www.h-hennes.fr'

Mantis bugtracker : plugin d’envoi d’un récapitulatif hebdomadaire des bugs Lire la suite »

Magento : Supprimer le champ obligatoire « régions » dans les adresses du checkout

Sous Magento ( version 1.4.x ) pour certains pays il est nécessaire de choisir une région associée à l’adresse.
Utile pour certains pays (US,CA … ) cette information n’est pas forcément judicieuse pour la France.
C’est d’autant plus agaçant que ce champ est considéré comme obligatoire par magento.

Voici les étapes à réaliser pour ne plus afficher ces éléments :
Pour commencer il faut supprimer directement dans la table sql les régions associées au pays pour lequel on ne souhaite plus afficher les régions.
Pour la france voici le code sql

DELETE FROM mag_directory_country_region WHERE country_id = 'FR'

Une fois cette manipulation effectuée, la saisie du champ « Région » devient facultative.
Il est donc possible de modifier directement les fichiers billing.phtml et shipping.phtml situé dans le dossier « yourThemeDirectory/checkout/onepage/ » pour ne plus faire apparaitre cette information.…

Magento : Supprimer le champ obligatoire « régions » dans les adresses du checkout Lire la suite »

Prestashop : Charger un objet via n’importe quel champ

Durant les derniers mois j’ai travaillé de manière régulière avec la solution concurrente « Magento » qui permets le chargement et la récupération d’informations sur les objets de manière très souple via n’importe quel champ.
Cette fonctionnalité n’est malheureusement pas disponible à ce jour avec Prestashop, (version 1.5.4.1 à ce jour ), mais avec le mécanisme des override, il est relativement aisé d’adapter cette logique.

Mon besoin a été motivé par la nécessité d’ajouter de nombreux champs spécifiques sur un site prestashop en cours de développement.

/!\ Cette méthode nécessite au minimum php en version 5.3 pour fonctionner.

Voici les codes à mettre en place dans le fichier override/classes/ObjectModel.php

<?php
 
abstract class ObjectModel extends ObjectModelCore
{
 
    /**
     * Rajout de la possibilité de récupérer un objet par n'importe quel champ
     * (Il est nécessaire de l'instancier avant)
     * 
     * @param string $field champ de la table 
     * @param string $value valeur du champ de la table
     * @return int id_object : identifiant de l'objet
     */
    public static function getObjectIdByField($field = '', $value='') {
 
		$className = get_called_class();   
        return Db::getInstance()->getValue("SELECT ".

Prestashop : Charger un objet via n’importe quel champ Lire la suite »

Prestashop : Module Scroll To Top

J’ai récemment installé sur ce blog le plugin wordpress « Dynamic to Top » que je trouve très pratique à utiliser et vraiment intuitif à l’utilisation.
Dans le cadre d’un projet Prestashop, j’ai donc décidé de créer un module Prestashop reprenant ces fonctionnalités.
Celui-ci se base sur le script de l’auteur du plugin wordpress disponible à l’adresse suivante : http://mattvarone.com/web-design/uitotop-jquery-plugin/

Le plugin fera dynamiquement apparaitre une image avec un lien de retour vers le haut de page sur l’ensemble des pages trop longues du site. (Le bloc encadré en rouge sur la capture ci-dessous)

Prestashop scroll to top

Aucune configuration n’est nécessaire, le module est fonctionnel dès son installation

Vous pouvez télécharger ce module : Module Prestashop Scroll To Top
( Attention fonctionne uniquement avec prestashop 1.5.xx )

Edit 11/11/2013 : La nouvelle version du module est également compatible prestashop 1.4.x…

Prestashop : Module Scroll To Top Lire la suite »