herve

Prestashop : Installer des modules sans passer par l’administration

Voici un module Prestashop qui vous permettra d’installer un module en appelant directement une page web ( depuis un navigateur ou la ligne de commande )

Ceci peut être pratique dans le cas ou il est nécessaire de déployer un module sur de nombreux sites différents

Une fois les fichiers déposé par ftp sur l’hébergement concerné , il vous suffit d’appeller la page http://www.site.com/modules/eiinstallmodulescli/install_module.php?module_name=module_name et le module sera automatiquement installé.

Le code exécuté est des plus basiques :-p , mais de mon côté cela m’a déjà permis de gagner pas mal de temps 🙂

require_once(dirname(__FILE__).'/../../config/config.inc.php');
 
//Nom du module à installer
$module_name = Tools::getValue('module_name');
 
if ( $module_name ) {
 
	//Inclusion de la classe du module
	if ( ! is_file(dirname(__FILE__).'/../'.$module_name.'/'.$module_name.'.php' ) )
		die (' Erreur : Impossible d\'inclure le fichier du module');
 
	include_once ( dirname(__FILE__).

Prestashop : Installer des modules sans passer par l’administration Lire la suite »

Magento 1.4.1.1 : Correction de la recherche des promotions par identifiant

Voici un correctif pour un bug de la version 1.4.1.1 de Magento ( Oui je sais c’est une vieille version mais il existe des sites qui l’utilisent encore … )
Lorsque vous souhaitez rechercher une règle de promotion par identifiant, vous obtenez une belle erreur fatale.
Donc le message d’erreur est le suivant :

SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'rule_id' in where clause is ambiguous

Pour corriger cette erreur nous allons copier le fichier app/code/core/Mage/Adminhtml/Promo/Quote/Grid.php dans le dossier app/code/local/Mage/Adminhtml/Promo/Quote/Grid.php

Puis dans la fonction _prepareColumns éditer les paramètres du champ rule id

 $this->addColumn('rule_id', array(
            'header'    => Mage::helper('salesrule')->__('ID'),
            'align'     =>'right',
            'width'     => '50px',
            'index'     => 'rule_id',
            'filter_index' => 'main_table.rule_id', // Ajout d'un filtre index pour corriger la recherche
        ));

Magento 1.4.1.1 : Correction de la recherche des promotions par identifiant Lire la suite »

Mantis Bugtracker : Changer rapidement l’état de bugs

Petit rappel pratique sur Mantis Bugtracker voici comment changer rapidement l’état de plusieurs bugs de « public » à « privé » via les actions de masse.

Pour commencer rendez-vous sur la page « Mon Affichage »

Sélectionner les bugs pour lesquels vous souhaitez changer l’état
Dans le menu des actions sélectionner « Mettre à jour l’état de l’affichage »

mantis-maj-etat-1

Sélectionner ensuite l’état que vous souhaiter appliquer à ces bugs ( Public / Privé )

mantis-maj-etat-2

Et voila le statut de l’ensemble des bugs est bien changé 🙂…

Mantis Bugtracker : Changer rapidement l’état de bugs Lire la suite »

Wiko Rainbow : Pas de clavier

Lors de la première exécution du wiko Rainbow j’ai été confronté à un problème bizarre.

Le clavier « texte » n’apparaissait pas, impossible dès lors d’écrire le moindre sms ou de configurer les comptes emails / wifi , ect…
C’est clairement un problème bloquant lors de la réception d’un nouveau téléphone.
Toutes les autres applications fonctionnaient correctement.

Afin de corriger ce problème j’ai donc été amené à effectuer la procédure suivante :

  • Mise en place de la langue anglaise ==> Le clavier fonctionne à nouveau
  • Saisie de mes informations wifi
  • Téléchargement de la mise à jour corrective
  • Installation de la mise à jour
  • Remise en place de la langue française.

Depuis tout refonctionne correctement.

Note :
Ceci n’était que le premier problème rencontré avec ce téléphone, voici pouvez consulter mon avis produit complet sur le wiko rainbow

Wiko Rainbow : Pas de clavier Lire la suite »

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 : Livraison offerte avec Kiala Locate And Shipping

Voici comment rendre l’excellent module « Kiala Locate And Shipping » compatible avec les promotions « Livraison offerte »

( Attention fonctionne uniquement si l’utilisation des grilles tarifaires est désactivée )

Editer le fichier :
app/code/community/Kiala/LocateAndSelect/Model/Carrier/Kiala.php

La modification est à apporter dans la fonction « CollectRates »

/**
     * Collect rates via the original table rates and adapt to Kiala
     *
     * @param Mage_Shipping_Model_Rate_Request $data
     * @return Mage_Shipping_Model_Rate_Result
     */
    public function collectRates(Mage_Shipping_Model_Rate_Request $request)
    {
 
        if (!$this->kialaHelper()->isActive('frontend')) {
            return false;
        }
 
        if ($this->kialaHelper()->useTablerates()) {
            $result = parent::collectRates($request);
            if (!$result) {
                return false;
            }
            $method = current($result->getRatesByCarrier('tablerate'));
            if (!$method) {
                Mage::Log("Tablerate not initialised. To add shipping costs, configure magento's standard Tabelrate  shipping method without activating it."

Magento : Livraison offerte avec Kiala Locate And Shipping 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 »