Trucs et astuces

De petits trucs et astuces pour se faciliter la vie de tous les jours ( quasiment toujours lié à l’univers du web )

Prestashop : Tri des produits et catégories par Ordre alphabétique

Voici comment lister les produits et les catégories Prestashop par ordre alphabétique :

( Cette méthode est valide avec prestashop 1.4.x et prestashop 1.5.x , je ne l’ai pas testé avec la version 1.6 )

Les procédures à exécuter sont les suivantes :

  • Ordre des catégories dans le module blockCatégories
  • Ordre des produits dans les préférences produits
  • Override de la récupération des sousCatégories

 

Ordre des catégories dans le module blockCatégories :

Dans l’administration « modules » , rechercher le module « bloc catégories »
Block Catégories Prestashop
Dans la configuration du module ,  cocher « par nom » dans l’option Trier et sauvegarder

Ordre des produits dans les préférences produits

Dans l’administration « Préférences » puis « Produits »

Tri des produits prestashop

Dans « pagination / Tri par défaut » sélectionner l’option « Nom  du produit » et sauvegarder

Override de la récupération des sousCatégories

Afin de pouvoir trier les sous catégories d’une catégorie par ordre alphabétique il va être nécessaire d’overrider la fonction getSubCategories de la class « Category »
Créer donc un fichier Category.php…

Prestashop : Tri des produits et catégories par Ordre alphabétique Lire la suite »

Installer Magento2 sur un serveur ubuntu 12.04 « The Precise Pangolin »

En voulant tester la nouvelle version de magento 2, j’ai eut la désagréable surprise de voir qu’elle ne fonctionnait pas sur mon serveur de développement qui tourne sous Ubuntu Server 12.04 « The precise Pangolin ».

En effet magento2 nécessite au minimum la version 5.4 de php, alors que la dernière version qui tourne sur les serveurs Ubuntu 12.04 est la 5.3

Voici comment mettre à jour votre version de php sur votre serveur ( la dernière version à date est la 5.5.9 )

/!\ Attention cette modification entraine des modification qui seront difficilement réversibles.

Connectez vous en SSH et saisissez les commandes suivantes :

#Maj des packets du serveur
sudo apt-get update
 
#Installation de python si celui-ci n'est pas encore installé  
sudo apt-get install python-software-properties
 
#Ajout d'un nouveau repository de sources
sudo add-apt-repository ppa:ondrej/php5
 
#Maj du serveur
sudo apt-get update 
sudo apt-get dist-upgrade

Votre serveur est à présent à jour avec la dernière version de php et magento2 peut être installé 🙂

Note : Attention la version d’apache sera également mise à jour vers la version 2.4 qui entraine quelques modifications dans les fichiers configuration.…

Installer Magento2 sur un serveur ubuntu 12.04 « The Precise Pangolin » Lire la suite »

Prestashop : Ajouter un éditeur wysiwyg sur la description des catégories ( Prestashop 1.5 )

En complément de mon précédent article : Prestashop : Ajouter un éditeur wysiwyg sur la description des catégories qui était uniquement applicable aux versions 1.4.xx , voici comment réaliser cette action sur prestashop 1.5

Pour ceux qui ne souhaitent pas mettre les mains dans le code , vous pouvez télécharger directement le module  qui se charge de tout  : eicategoriesdescription
(Attention ce module réalise un override, si un autre module override la même fonction, des problèmes peuvent apparaitre )

La manipulation est relativement facile à réaliser.

Créer un nouveau fichier AdminCategoriesController.php dans le dossier  « override/controllers/admin/ »

Copier / Coller la fonction « renderForm » dans votre nouveau fichier.

Rechercher le contenu suivant

array(
'type' => 'textarea',
'label' => $this->l('Description:'),
'name' => 'description',
'lang' => true,
'rows' => 10,
'cols' => 100,
'hint' => $this->l('Invalid characters:').' <>;=#{}'             
),

Prestashop : Ajouter un éditeur wysiwyg sur la description des catégories ( Prestashop 1.5 ) Lire la suite »

Magento : Promotion X achetés Y gratuits

La mise en place  d’une règle de promotion Magento de type « x achetés y gratuits » est plutôt fastidieuse et pas forcément claire.
( Note : Sur la version 1.4.1.1 de Magento, il y a un problème lorsqu’on souhaite créer une règle de type 1 acheté 1 offert , nous verrons plus loin comment corriger ce comportement. )

Voici un exemple sur comment configurer une règle de ce type  sur l’exemple suivant :
Pour l’achat de 2 téléphone Nokia 2610 , un 3ème téléphone Nokia 2610 sera offert 🙂  ( Pour 4  => 2 , ect… )

Pour commencer il faut se rendre dans « Promotions / Règles de prix Panier » puis cliquer sur « Ajouter une nouvelle règle »
Voici ensuite ce que nous allons saisir dans l’onglet « Informations règle »

Magento SalesRule Informations

  1. La règle s’applique à l’ensemble des sites web
  2. La règle s’applique à l’ensemble des groupes clients
  3. Le code pour utiliser le coupon est « TEL »
  4. Pas de limites d’utilisation du coupon
  5. Pas de limites d’utilisation par client

Dans l’onglet « Conditions » nous ne mettons rien car il n’y a pas de restrictions.…

Magento : Promotion X achetés Y gratuits Lire la suite »

Prestashop : installer rapidement une version de développement avec bash

Lors du développement de modules Prestashop, il est utile de tester son fonctionnement sur l’ensemble des version de Prestashop.
Cependant le processus d’installation d’une version spécifique de Prestashop fait perdre pas mal de temps à chaque fois.

Voici donc un script bash qui m’a permis d’industrialiser l’installation de Prestashop sur mon serveur de développement.

/!\ Ce script  est une version beta qui nécessite d’être utilisée avec précautions, et ou de nombreuses améliorations sont possibles, il fonctionne uniquement pour les versions de Prestashop supérieures à la version 1.5.4.1 ( qui disposent de l’installation CLI )
Les postulats de départ sont les suivants :

  • L’utilisateur qui exécute la commande ssh à les droits de création / modification / exécution sur l’ensemble des dossier et la création de base de données
  • L’ensemble des versions de prestashop seront installée sur le même nom de domaine dans un sous-dossier « /prestashop/ »
  • Le nom du dossier de chaque version sera sous la forme « prestashop_1-x-x-x »
  • Chaque version disposera de sa propre base de données
  • Les mots de passe admin et base de données seront toujours les mêmes
#!/bin/bash

Prestashop : installer rapidement une version de développement avec bash Lire la suite »

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 »