herve

Prestashop : Liens dynamiques vers les pages cms dans l’éditeur TinyMce

La gestion des liens entre les différentes pages cms est relativement peu aisée avec PrestaShop, il est nécessaire de saisir le lien complet à chaque fois.
Cette problématique est d’autant plus importante lorsqu’on est amené à travailler avec plusieurs urls ( serveur local, serveur de préproduction, serveur de production)

En partant de ce constat j’ai décidé de créer un nouveau module qui permettra de rendre ces liens « dynamiques »  (c’est à dire indépendant de l’url de base du site)

Ce module fonctionne uniquement à partir de Prestashop 1.5.

Son fonctionnement est inspiré du fonctionnement des liens cms sous magento ( et oui encore 😉 ).

Voici un aperçu du rendu final du module.

lien cms prestashop

Un nouvel icône apparait dans la barre d’outils de TinyMce.

pages-cms

Lorsqu’on clique dessus, le listing complet des pages cms existantes apparait et il vous suffit de cliquer sur l’élément que vous souhaitez ajouter pour insérer un lien.

Edit 2015-05-20 :

Pour récupérer la dernière version du module et consulter les instructions d’installation, vous pouvez vous rendre directement sur la page :
Prestashop : Liens dynamiques dans l’éditeur wysiwyg tinymce

 …

Prestashop : Liens dynamiques vers les pages cms dans l’éditeur TinyMce Lire la suite »

Modifier le workflow de mantis Bugtracker

En complément de mes précédents articles sur ce sujet ( Ajouter une étape dans le workflow MantisMantis bugtracker : ajouter un statut personnalisée sur la page « Mon affichage » ) voici un récapitulatif global sur le changement et l’optimisation  du workflow sur mantis bugtracker.
Si vous souhaitez supprimer une étape du worklow mantis, c’est par ici

Pour information voici le workflow standard de Mantis Bugtracker :
Workflow Mantis standard

Voici le workflow que je souhaite obtenir :worklow-modifie Pour obtenir cela voici les modifications à apporter pour mettre en place ces modifications

Modification des fichiers

Dans le fichier config_inc.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#Nouveau Workflow Mantis
$g_status_enum_string                = '10:new,20:feedback,50:assigned,55:waiting_internal_validation,60:waiting_customer_validation,65:waiting_for_production,80:resolved,90:closed';
 
#Définition des changements de statuts pour les statuts standards
$g_status_enum_workflow[NEW_]='20:feedback,50:assigned,80:resolved';
$g_status_enum_workflow[FEEDBACK] ='10:new,50:assigned,55:waiting_internal_validation,60:waiting_customer_validation,65:waiting_for_production,80:resolved';
$g_status_enum_workflow[ASSIGNED] ='20:feedback,55:waiting_internal_validation,60:waiting_customer_validation,65:waiting_for_production,80:resolved,90:closed';
$g_status_enum_workflow[RESOLVED] ='50:assigned,90:closed';
$g_status_enum_workflow[CLOSED] ='50:assigned';
 
#Définition des couleurs des nouveaux statuts
$g_status_colors['waiting_internal_validation'] = '#F3E2A9';
$g_status_colors['waiting_customer_validation'] = '#E0701A';
$g_status_colors['waiting_for_production'] = '#6B67F2';
 
#Definition des changements de statuts possibles pour nos nouveaux statuts
$g_status_enum_workflow[WAITING_INTERNAL_VALIDATION] ='20:feedback,50:assigned,60:waiting_customer_validation,65:waiting_for_production,80:resolved,90:closed';
$g_status_enum_workflow[WAITING_CUSTOMER_VALIDATION] ='20:feedback,50:assigned,55:waiting_internal_validation,65:waiting_for_production,80:resolved,90:closed';
$g_status_enum_workflow[WAITING_FOR_PRODUCTION] ='20:feedback,80:resolved,90:closed';
 
#Paramètres pour la page my_views.php

Modifier le workflow de mantis Bugtracker Lire la suite »

Module (re) captcha pour le formulaire de contact prestashop nouvelle version

Suite aux différents retours sur mon module recaptcha pour prestashop , Je viens de procéder à sa mise à jour.

La version 0.1.1 apporte un changement important dans son mode de fonctionnement
Car comme évoqué dans le commentaire suivant , la soumission d’un mauvais code de captcha nécessitait de saisir à nouveau l’ensemble des données du formulaire.

Désormais la validation du code du captcha est donc réalisée en ajax avant la soumission du formulaire.
Si le code est validé, le formulaire de contact est soumis, sinon un message d’erreur s’affiche et l’utilisateur doit saisir un nouveau captcha.

Edit : 17/01/2014
La version 0.1.2 est désormais disponible et corrige l’incompatibilité du module avec le mode SSL de prestashop.

Edit : 05/05/2014
La version 0.1.3 est désormais disponible et corrige un problème de soumission du captcha en mode SSL

Edit : 15/05/2014La version 0.1.4 compatible avec Prestashop 1.6 est désormais disponible

Vous pourrez télécharger cette version et consulter les dernières mise à jour du module depuis la page Module (re)Captcha pour le formulaire de contact prestashop

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

Prestashop : Mise au jour de la Tva au 31 décembre 2013

Voici un module prestashop tout simple qui se chargera de mettre à jour les taux de TVA de votre boutique facilement.

Il suffit de configurer une tâche cron le 31 décembre à 00h 00 qui appelle le fichier

http:://www.votreSite.com/modules/eitaxupdater/cron.php

Le taux de 19,6% passe à 20 %, et le taux de 7% passe à 10%.

Voici le code du module :

eitaxupdater.php

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
<?php 
/**
 * Module de mise à jour du taux de Taxe FR
 *
 * 
 * @version 0.1 | $Revision$
 * Last-Modified : $Date$
 * Id : $Id$
 */
if (!

Prestashop : Mise au jour de la Tva au 31 décembre 2013 Lire la suite »

Magento : Empêcher l’indexation d’une catégorie ou d’un produit

Il peut arriver que vous ne souhaitiez pas que certaines catégories ou produits ne soient indexés par google sur votre boutique Magento

Pour réaliser cela ajoutez le code suivant dans l’onglet « Habillage » et dans le champ « Layout custom update » de la catégorie ou du produit qui ne doit pas être indexé.

<reference name="head">
<action method="setRobots"><value>NOINDEX,NOFOLLOW</value></action>
</reference>

Magento : Empêcher l’indexation d’une catégorie ou d’un produit Lire la suite »

Magento : Quantité de produits non éditable dans les avoirs

Avec certains modes de paiement, il n’est pas possible d’éditer la quantité de produits à rembourser pour une commande.

Voici la modification à faire pour permettre cela.

Tout d’abord, il faut regarder quel est le module de paiement utilisé pour la commande.
Recherchez ensuite le fichier modèle du module de paiement ( app/code/community|local/YourPaymentModule/Model/YourPayementModule.php )

Puis dans la classe de votre module  ajoutez la propriété suivante :

protected $_canCapturePartial        = true;

( Testé et fonctionnel sous Magento 1.4.1.1 avec le module Qpay Ideal)

Note :

Dans mes recherches sur le web pour trouver la source du problème j’ai également consulté  la solution suivante :

protected $_canRefundInvoicePartial = true;

( Elle n’a pas fonctionné dans mon cas… )…

Magento : Quantité de produits non éditable dans les avoirs Lire la suite »

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 »