Archives de février, 2014

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:').' <>;=#{}'             
),

Puis rajouter le paramètre suivant dans les paramètres du champ  :

 'autoload_rte' => true, //Activation de l'éditeur sur les categories TinyMce

Envoyer votre fichier sur le serveur ftp dans le dossier “override/controllers/admin/”
L’éditeur wysiwyg est maintenant visible dans l’édition des catégories 🙂

Editeur wysiwy prestashop 1.5

5 commentaires

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.", Zend_Log::INFO, 'kiala.log');
                $method = Mage::getModel('shipping/rate_result_method');
            } else {
                Mage::Log("Reset Tablerate  Rate_Results", Zend_Log::INFO, 'kiala.log');
                $result->reset();
            }
        }
        else {
            Mage::Log("Table Rates disabled.", Zend_Log::INFO, 'kiala.log');
            $result = Mage::getModel('shipping/rate_result');
            $method = Mage::getModel('shipping/rate_result_method');
 
            $price = $this->kialaHelper()->getFlatFeeShippingCost();
 
            /**
             * Si les frais de ports sont offerts, on fixe le prix Kiala à 0
             */
            if ($request->getFreeShipping() === true ) {
                $price = '0.00';
            }
 
            $method->setPrice($price);
            $method->setCost($price);
        }
 
        $kialaPoint = $this->getKialaPoint();
        if ($kialaPoint) {
            Mage::Log("Updating Tablerate  method with KialaPoint details", Zend_Log::INFO, 'kiala.log');
            $method->setCarrier('kiala');
            $method->setCarrierTitle($this->getConfigData('title'));
            $method->setMethod('kiala_' .
Pas de commentaires

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.…

14 commentaires

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
 
#Check des saisies utilisateurs
if [ -z $1 ];then
  echo "Pas de version majeure saisie (3 / 4 / 5 / 6 )"
  exit
else
  majorVersion=$1  
fi
 
if [ -z $2 ];then
  echo "Pas de version mineure saisie"
  exit
else
 minorVersion=$2
fi
 
if [ -z $3 ];then
  correctVersion=0
else
  correctVersion=$3
fi
 
#Variable par défaut du script (commun à tous les presta)
dir="/home/user/webdirectory/prestashop/"
domaineName="yourdomaine.com"
 
#Accès base de données ( Remplacer par les bonnes informations )
dbuser="dbuser"
dbpassword="dbpassword"
 
#Accès administration (Remplacer par les bonnes informations )
contactEmail="[email protected]"
adminpass="password"
 
#On se positionne dans le dossier web
cd $dir
pwd
 
#Nom du dossier qu'on doit creer
newdir="prestashop_1-${majorVersion}-${minorVersion}-${correctVersion}"
 
#On vérifie que le dossier n'existe pas
if [ -d "$newdir" ]; then
    echo "$newdir existe !"
    echo "Arret de l'install"
    exit
#Si le dossier n'existe pas on lance le processus
else
    echo "$newdir n'existe pas!"
    echo "Creation du dossier $newdir"
    mkdir $newdir
fi
 
#on se place dans le nouveau dossier
cd $newdir
 
#en fonction de la version on détermine les noms des dossiers fichiers  et de la bdd
filename="prestashop_1.
Pas de commentaires


Compte Github