Archives de juillet, 2015

Prestashop 14 : Limiter la quantité des produits téléchargeables à 1 dans le panier

Petite astuce rapide pour Prestashop 1.4.
Si vous vendez des produits téléchargeables qui n’ont aucun intérêt  à être ajouté au panier plus d’une fois, voici comment limiter cela rapidement.

Dans le fichier override/classes/Cart.php saisissez le code suivant :

Les codes ajoutés sont lignes 42,43 et 53-55

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
<?php
 
/**
 * Surcharge de la classe Panier
 */
class Cart extends CartCore
{
 
     /**
     * Update product quantity
     *
     * Ajout d'une limitation qui ne permet d'ajouter qu'une seule fois un produit téléchargeable au panier
     * 
     * @param integer $quantity Quantity to add (or substract)
     * @param integer $id_product Product ID
     * @param integer $id_product_attribute Attribute ID if needed
     * @param string $operator Indicate if quantity must be increased or decreased
     */
    public function updateQty($quantity, $id_product, $id_product_attribute = NULL, $id_customization = false, $operator = 'up')
    {
        $product = new Product((int)$id_product, false, (int)Configuration::get('PS_LANG_DEFAULT'));
 
        /* If we have a product combination, the minimal quantity is set with the one of this combination */
        if (!
2 commentaires

Ovh mutualisé copier une base de données dans une autre avec ssh

Voici un petit script bash qui vous permettra de copier facilement le contenu d’une base de données à une autre depuis un hébergement mutualisé ovh.
( Ce script fonctionne uniquement à partir des hébergements pro, car il nécessite un accès ssh )
Le déroulé du script est le suivant :

  • Export de la bdd à copier
  • Sauvegarde de la bdd de destination
  • Suppression des données de la bdd de destination
  • Insertion des données de la bdd à copier dans la bdd de destination
#!/bin/bash
 
#Saisir les paramètres des bases de données
serveurProd="mysql.ovh"
userProd="user"
passProd="password"
 
serveurPreprod="mysql.preprod"
userPreprod="preprod"
passPreprod="preprod"
 
#Export de la base de donnees de prod
echo "Sauvegarde base de prod"
mysqldump --host=$serveurProd --user=$userProd --password=$passProd $userProd | gzip > backup-prod_$(date +"%Y-%m-%d").sql.gzip
 
#Sauvegarde de la base de donnees de preprod
echo "Sauvegarde base de preprod"
mysqldump --host=$serveurPreprod --user=$userPreprod --password=$passPreprod $userPreprod | gzip > backup-preprod_$(date +"%Y-%m-%d").sql.gzip
 
#Suppression des donnees de la base de donnes preprod
echo "Suppression des donnees de la table de preprod"
TABLES=$(mysql -h $serveurPreprod -u $userPreprod -p$passPreprod $userPreprod -e 'show tables' | awk '{ print $1}' | grep -v '^Tables' )
 
for t in $TABLES
do
echo "Suppression de la table  $t de la base de données $userPreprod ..."
mysql -h $serveurPreprod -u $userPreprod -p$passPreprod $userPreprod -e "drop table $t"
done
 
#Insertion des données de prod dans la table de preprod
echo "Insertion des nouvelles donnees dans la table de preprod"
zcat backup-prod_$(date +"%Y-%m-%d").sql.gzip | mysql -h $serveurPreprod -u $userPreprod -p$passPreprod $userPreprod

Pour utiliser ce script, il faut créer un fichier (ex: update-bdd.sh) avec le contenu ci-dessus sur votre hébergement
Puis de se connecter en ssh et de l’exécuter avec la commande suivante :

bash update-bdd.sh
Pas de commentaires

Alternative a wampserver : Vagrant

Si comme moi, vous développez sous Windows, et que vous utilisez wampserver pour faire tourner vos sites locaux, vous avez sans doutes déjà été agacé par les installations d’outils spécifiques sous windows ( composer , npm , phpunit ect… )

Voici donc une alternative simple et rapide à mettre en place.
Cela prendra un peu plus de temps que d’installer wamp mais une fois votre plateforme en place, vous aurez à votre disposition un linux en local.

Pour mettre l’infrastructure en place, voici les étapes à réaliser

Une fois les logiciels installés, vous pouvez maintenant installer des centaines de machines virtuelles préconfigurées en fonction de vos usages, celles-ci sont acessibles sur la plateforme https://atlas.hashicorp.com/boxes/search

Pour du développement local, je me suis basé sur l’image « Scotch Box » : https://box.scotch.io/ qui dispose entre autre des fonctionnalités suivantes :

Serveur : ( MySQL, PHP 5.5, Ruby, Git,Composer,Apache … )
Front End : (NPM, Grunt, Bower… )

Pour l’installer, il suffit de cloner le projet github

git clone https://github.com/scotch-io/scotch-box.git my-project

Puis de vous rendre dans le dossier my-project et de lancer la commande ( via l’invite de commandes )

vagrant up

Rendez-vous ensuite sur l’ip : http://192.168.33.10/ et le tour est joué 🙂

scotchbox

Pas de commentaires


Archives

Compte Github