Le blog d’un développeur freelance passionné de web, qui partage ici diverses trouvailles et réflexions dans le domaine du web, du développement, du SEO, et des nouvelles technologies.


Prestashop : Import abonnés à la newsletter

Si vous migrez un site existant sur Prestashop depuis une autre plateforme, ou encore si vous collectez des adresses email optins via d’autres outils que Prestashop, il est possible que vous vouliez importer des adresses email dans la base de données newsletter de Prestashop.

J’ai pour cela développé un module qui permet d’importer via fichier CSV des inscrits à la newsletter.
En plus de l’adresse email, il permet également d’importer le champ « http_referer », ce qui peut être utile pour distinguer les inscrits provenant de différentes sources ou différentes campagnes marketing.

Ce module est disponible sur Prestashop addons : Import abonnés à la newsletter

Il est compatible Prestashop 1.6 et 1.7

N’hésitez pas à me contacter si vous souhaitez des modifications / ajout de fonctionnalités dans ce module, ou pour toute demande de développement spécifique de module Prestashop.

5 novembre 2019|Categories: Blog|Tags: |0 Commentaires

Prestashop : Fonctionnalités navigation + SEO pour configuration mutli-lingue en multi-boutique

Il s’agit d’une configuration particulière de Prestashop : Gestion du multilingue via le multiboutique, c’est à dire que l’on a une boutique par langue (contrairement à la configuration standard où toutes les langues sont sur la même boutique).

Cette configuration est utilisée dans différents types de cas : si chaque langue est sur un nom de domaine différent, ou si on a certains éléments de configuration spécifiques selon la langue qui ne permettent pas de les utiliser sur la même boutique (gestion différente de la TVA, etc.).

J’ai développé deux modules destinés à ce type de cas :

Ces modules sont également disponibles en pack (prix diminué) : Multi boutique HrefLang et Sélecteur de langue

N’hésitez pas à me contacter si vous souhaitez des modifications / ajout de fonctionnalités dans ces modules, ou pour toute demande de développement spécifique de module Prestashop.

5 novembre 2019|Categories: Blog|Tags: |0 Commentaires

Prestashop : Exporter commandes règles paniers codes promos CSV

Le suivi des campagnes promotionnelles / web marketing demande parfois de connaitre toutes les utilisations qui ont été faites des codes promos.

Prestashop ne permet pas cela nativement, c’est pourquoi j’ai développé un module permettant l’export des commandes utilisant règles panier (codes promos) dans un fichier CSV contenant les informations de commande, facture, adresse de facturation de livraison.

Il est possible de filtrer par identifiant règle panier / code promo, statut de commande, date et pays.

Ce module est disponible sur Prestashop addons : Exporter commandes règles paniers codes promos CSV

Il est compatible Prestashop 1.6 et 1.7

N’hésitez pas à me contacter si vous souhaitez des modifications / ajout de fonctionnalités dans ce module, ou pour toute demande de développement spécifique de module Prestashop.

5 novembre 2019|Categories: Blog|Tags: |0 Commentaires

Prestashop : Vider le cache – tache cron plannifiée

Effacer le cache Prestashop à la fréquence souhaitée, sans avoir à le faire manuellement dans admin, peut être nécessaire dans certains cas, mais Prestashop ne propose pas de fonctionnalité pour cela.

J’ai développé un module pour pallier à ce manque, facile à installer, et compatible avec n’importe quel gestionnaire de taches cron.
Il permet de créer une tâche automatique pour vider votre cache prestashop, et réindexer le module de navigation à facette.
La réindexation du module navigation à facette, et des tarifs de ce même module, est paramétrable (on peut choisir ou non de l’activer).

Ce module est disponible sur Prestashop addons : Vider le cache – Tache cron plannifiée

Il est compatible Prestashop 1.6 et 1.7

N’hésitez pas à me contacter si vous souhaitez des modifications / ajout de fonctionnalités dans ce module, ou pour toute demande de développement spécifique de module Prestashop.

5 novembre 2019|Categories: Blog|Tags: |0 Commentaires

Prestashop : Export de factures / avoirs multiples PDF archive ZIP

Prestashop permet d’exporter les factures en PDF (filtrées par date et statut de commande), cependant il génère un seul fichier PDF contenant toutes les factures, ce qui ne convient pas à ceux qui souhaitent avoir un fichier PDF par facture.

J’ai donc développé un module pour pouvoir faire un export similaire, mais générant un fichier PDF par facture, le tout dans un fichier ZIP.

Ce module propose également des fonctionnalités supplémentaires :

  • Export des avoirs (on choisit d’exporter les factures, les avoirs, ou les deux)
  • Filtrage par pays
  • Envoi de cet export automatiquement par mail, via une tache cron (avec période paramétrable)

Ce module est disponible sur Prestashop addons : Export de factures multiples PDF en archive ZIP
Il est compatible Prestashop 1.6 et 1.7

N’hésitez pas à me contacter si vous souhaitez des modifications / ajout de fonctionnalités dans ce module, ou pour toute demande de développement spécifique de module Prestashop.

5 novembre 2019|Categories: Blog|Tags: |0 Commentaires

WordPress : en finir avec les boucles de redirection vers le page de connexion

Symptomes : soudainement, vous ne pouvez plus vous connecter à votre site wordpress, vous êtes dans cesse redirigé vers la page de connexion, avec reauth=1 à la fin de l’URL.

Solution : appeller la fonction wp_clear_auth_cookie(). Il suffit par exemple de le rajouter dans le fichier wp-login.php après l’inclusion de wp-load, recharger la page, puis enlever la fonction avant de reessayer de s’identifier.

22 février 2019|Categories: Blog|Tags: |0 Commentaires

MySQL dump : filtrer les tables par préfixe

Pour faire un dump d’une base de données MySQL, mais en prenant uniquement les tables qui ont un certain préfixe :

mysql -u {username} -p{password} -N -e 'show tables like "{prefix}\_%"' {dbname} | xargs mysqldump -u {username} --password={password} --single-transaction {dbname} > {filename}.sql
21 juin 2018|Categories: Blog|Tags: |0 Commentaires

WordPress : Ajouter une option « Device » sur les widgets pour choisir si on les affiche sur mobile, desktop, ou les deux

J’ai publié un nouveau petit module sur wordpress.org pour ajouter sur les widgets une option permettant de les afficher uniquement sur mobile ou sur desktop.

C’est basé sur la fonction wp_is_mobile disponible à partir de wordpress 3.4, qui détermine le type de device utilisé en fonction du user agent.

Vous pouvez télécharger le plugin ici : https://wordpress.org/plugins/widgets-device-display-option/

27 avril 2018|Categories: Blog|Tags: |0 Commentaires

Nouvelle contribution à wordpress.org : éviter que la fonction wp_mail envoie des mails en doublon

J’ai constaté qu’il pouvait arriver que wp_mail envoie des mails en plusieurs exemplaires, dans certains cas particuliers, comme par exemple quand la fonction est appellée depuis un module qui autorise l’éxecution de code PHP dans le contenu des pages / posts, et que le plugin Yoast SEO est installé.

J’ai donc développé un petit module permettant d’éviter ce désagrément.

La page du module est ici : https://wordpress.org/plugins/wp-mail-fix-multiple-send/

9 octobre 2017|Categories: Blog|Tags: |0 Commentaires

Colonnes de même hauteur : la version visual composer

De manière similaire à Bootsrap : colonnes de même hauteur, par ligne, et responsive :

Dans le cadre de la construction d’une page avec visual composer, le script suivant vous permettra de définir automatiquement la hauteur des colonnes d’une même ligne, en se basant sur la colonne la plus haute.

Il suffit d’intégrer ce script et d’assigner la classe « col-same-height » aux colonnes dans visual composer.

Code :

jQuery(window).load(function() {
    jQuery(window).resize(resizeColSameHeight);
    resizeColSameHeight();
});

/**
 * Redimensionnement hauteur des colonnes bootstrap "col-same-height" ligne par ligne selon la taille de la vue
 */
function resizeColSameHeight() {
    if (jQuery('.col-same-height').length > 0) {
        jQuery('.col-same-height > .vc_column-inner').css('height', 'auto');
        if (jQuery('body').width() >= 768) {
            jQuery('.vc_row').has('.col-same-height').each(function() {
                var maxHeight = 0;
                jQuery(this).children('.col-same-height').each(function() {
                    if (jQuery(this).children('.vc_column-inner').first().height() > maxHeight)
                        maxHeight = jQuery(this).height();
                });
                jQuery(this).children('.col-same-height').each(function() {
                    jQuery(this).children('.vc_column-inner').first().css('height', maxHeight + 'px');
                });
            });
        }
    }
}
27 juillet 2016|Categories: Blog|Tags: , |0 Commentaires