Création de site
Création web
Vous désirez un site web
Site vitrine

Nous créons rapidement en quelques pages votre site internet pour :
- Présenter votre activité
- Créer votre blog

Boutique en ligne

Vous avez déjà les produits et souhaitez les vendre en ligne. Nous créons votre boutique rapidement.

Boutique en ligne

Site web mobile - PC - MAC

Prestations en code et développement
Code informatique
Nous développons des outils pour vous aider : html, css, js, php ...
Logiciel de compte-rendu

Vous vendez et avez besoin d'un export de vos données (excel, word ou texte).

Dévelopement spécifique

Vous avez un site, un fichier à reprendre, une synthèse à effectuer.

Nos devis sans engagement
Gérer son site
Boutique - activités - blog - code
Réalisation de site et modules

Nos connaissances en CMS (prestashop, joomla ...) permettent d'améliorer, sécuriser ou de créer des sites et modules particuliers sur mesure.

Adapter et gérer vous même votre site

Nous avons développé de nombreux tutoriaux et aide au développement.

Nos devis sans engagement
Devis pour site internet
Des prix bas et réalisation Française
Faire votre devis

Vous n'avez qu'à remplir le questionnaire et un prix approximatif s'affiche.

Nous contacter ensuite

Pour avoir un devis définitif, vous pouvez nous envoyer votre besoin, nous ferons rapidement un devis définitif.

PlayPause
previous arrowprevious arrow
next arrownext arrow

Comment insérer du code dans Prestashop

Le sujet revient souvent dans les questions ou du coup les prestations que j'effectue pour des clients.

Prestashop est un peu particulier comme tous les CMS, notamment dans les fichiers en ".tpl" que vous revez de pouvoir modifier.

Soit pour ajouter un css, un script ou tout simplement du php ou du html pur.

En gros vous voulez vous servir d'un fichier de votre template Prestashop pour insérer du code comme si vous étiez en train de modifier un fichier html ou php.

La solution est simple pour intégrer du code dans votre template prestashop

Il suffit de rajouter la balise literal comme ceci :

{literal)

et la fin de balise literal après votre code :

{literal}

Ainsi les exemples suivant sera plus parlant pour vous :

1/ Il s'agit d'insérer une balise pour google analytics pour suivre vos page dans votre header.tpl :

{literal}

<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXX"></script>

<script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-XXXXXXXXXXXXX'); </script>

{/literal}

2/ Un second exemple pour insérer dans prestashop du javascript / Jquery

<script type="text/javascript">

{literal}

jQuery(document).ready(function(){

//Votre function

});

//Exemple pour ajouter une classe
$('.last_item_of_line').next().addClass('first_item');

{/literal}

</script>

Voilà vous savez comment ajouter des fonctions javascripts ou autre code pur dans vos fichier tpl de Prestashop pour modifiez vos templates.

Ajout catégorie prestashop en php

Si vous êtes comme moi, vous avez déjà cherché à ajouter par un programme php des catégories à Prestashop, mais devinez quoi ? Aucune solution viable où facile à mettre en oeuvre !

Je vais vous donner le code pour ajouter une catégorie Prestashop, code qui fonctionne sur Prestashop 1.6 et 1.7 à minima !

Perso j'ai mis ce code dans un répertoire à la racine de prestashop appelé "custom" et dans mon fichier import.php, à vous d'adapter suivant où vous mettez ce code.

Code pour ajouter une catégorie Prestashop

 

//On veut voir toutes les classes de Prestashop pour se servir des fonctionnalités catégories de Prestashop

require(dirname(__FILE__).'/../config/config.inc.php');

$context=Context::getContext();

 

//On crée une catégorie Prestashop à vide

$object = new Category();

 

//On remplit les données de ce nouvel objet catégorie

$object->name = array((int)Configuration::get('PS_LANG_DEFAULT') => 'Nom de votre catégorie');

//Je mets cette catégorie dans la catégorie Acceuil qui a le numéro de catégorie Prestashop 2 par défaut.

$object->id_parent = 2;

$object->link_rewrite = array((int)Configuration::get('PS_LANG_DEFAULT') => 'Nom du lien url de votre nouvelle catégorie');

$object->description = 'Sexy Blaze Category Name';

 

//On ajoute les balises titre, description et mots clés pour le référencement de votre catégorie Prestashop

$object->meta_title = 'Une belle catégorie';

$object->meta_description = 'venez voir notre catégorie Prestashop';

$object->meta_keywords = array ( 'catégorie Prestashop' , 'créer une nouvelle catégorie Prestashop en code', 'faire un fichier php de création de catégorie Prestashop');

 

//Et hop on ajoute la nouvelle catégorie dans la base de donnée

$object->add();

 

Et voilà vous pouvez vérifier dans le back office, votre catégorie est ajoutée dans votre boutique.

Modifier le mail de contact de ma boutique

Quand on envoi un mail via sa boutique prestashop, le client reçoit un email avec une signature par défaut, signature décidée au démarrage de votre projet dont vous souhaitez peut être modifier dans votre boutique pour plusieurs raisons :

- trop de mail en spam, dans ce cas il faut la modifier en Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.

- mail de votre administrateur ou webmaster (qui n'est pas commercial)

Changer le mail par défaut de Prestashop

Il suffit d'aller dans Préférences --> Coordonnées & Magasins

Puis une ligne s'appel "Adresse e-mail de la boutique :"

C'est ici que vous devez renseigner celle voulue sans oublier de sauvegarder !

Bonnes modifications Prestashop

Ajout champ créer compte prestashop

Ceci est un tutoriel pour prestashop 1.5 et 1.6 pour ajouter un champ dans le formulaire d'inscription de Prestashop pour tout client et pas seulement dans le formulaire d'adresse, cela fonctionne pour l'inscription "one step account mais aussi pour l'inscription compléte".

Les fichiers à modifier pour l'ajout d'un champ

4 fichiers sont à modifier pour ajouter une ligne au formulaire prestashop d'inscription

themes/NOM_DU_THEME/authentication.tpl

controllers/front/AuthController.php

class/Customer.php

controllers/admin/AdminCustomersController.php

Modification de la base de donnée Prestashop pour ajouter une colonne pour le client

ALTER TABLE `ps_customer` 
ADD `champ` VARCHAR(250)

A noter :

Adapter le préfixe de table que vous avez choisi dans votre installation prestashop au lieu de "ps_"

La taille, le nom et le format du champ "champ" sont à décider selon votre besoin.

Modification du formulaire d'authentification Prestashop

Tout se joue dans themes/NOM_DU_THEME/authentication.tpl

Vous pouvez ajouter votre code là ou vous le souhaitez dans le fichier en adaptant par rapport à la présentation du code (div, p, span ...)

<div class="text">

<label for="champ">{l s='Champ'}</label>

<input name="champ" type="text" class="" id="champ" />

</div>

 Vous pouvez chercher dans le code lastname par exemple et faire un même paragraphe mais avec votre "champ"

Modification du controller Prestashop avec le nouveau champ

Là on est dans le lourd, 3 modifications sont nécessaires dans le fichier controllers/front/AuthController.php :

Première

Dès que vous voyez : "$this->errors[] = Tools::displayError('Invalid date of birth.');"

Vous ajoutez juste en dessous : $customer->champ= $champ;

Seconde

ATTENTION la seconde modification est dure :) c'est la même chose mais comme le code existe en double dans le fichier on reprend :

Dès que vous voyez : "$this->errors[] = Tools::displayError('Invalid date of birth.');"

Vous ajoutez juste en dessous : $customer->champ= $champ;

Troisième

Cherchez ce bout de code

$this->context->customer = $customer;

$this->context->smarty->assign('confirmation', 1);

$this->context->cookie->id_customer = (int)$customer->id;

Et ajoutez juste en dessous : 

$this->context->cookie->customer_champ = $customer->champ;

Modification du customer.php pour ajouter le champ

Dans le fichier class/Customer.php

Etape 1

juste après : public $id;

ajoutez :

public $champ;

Etape 2

juste après la définition :

'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),

Ajoutez :

'champ' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'required' => true, 'size' => 20),

size est la taille à modifier suivant la déclaration faite dans la table.

nous avons mis le "champ" en obligatoire avec l'option required => true, changer à false si vous ne voulez pas.

Voir sa nouvelle variable dans l'administration des clients Prestashop

Maintenant nous allons ajoutez le "champ" dans le résumé des clients de votre boutique :

A la place de :

  'title' => $this->l('Last visit'),

  'width' => 100,

  'type' => 'datetime',

  'search' => false,

  'havingFilter' => true

  )

);

vous placez le code suivant :

  'title' => $this->l('Last visit'),

  'width' => 100,

  'type' => 'datetime',

  'search' => false,

  'havingFilter' => true

  ),

  'champ' => array(

  'title' => $this->l('champ'),

  'width' => 'auto',

  'search' => true

  )

);

J'espère que ce petit tutoriel vous a aidé, bon code Prestashop ...

Supprimer les frais de transports dans le panier Prestashop

Les abandons de panier avec Prestashop sont nombreux car les frais de transports perturbent souvent les clients quand ils apparaissent directement dans le panier alors que souvent on peut choisir le retrait sur place qui est gratuit !!! Mais seulement après.

Nous allons voir ici comment modifier les fichiers de code générant ce panier pour supprimer ces frais de transports.

Attention, cela fonctionne pour le panier de prestashop en haut à droite et pas la partie Résumé ou Summary !

Modification du fichier template du panier

Il faut se rendre dans le fichier modules/blockcart/blockcart.tpl ou si votre thème en contient un dans /themes/nameofthemes/modules/blockcart/blockcart.tpl

Suppression du prix du transport dans le panier Prestashop

Il faut supprimer ces lignes du fichier pour faire disparaître les frais de transport apparaissant après les produits.

<div class="cart-prices-block">

<span id="cart_block_shipping_cost" class="price ajax_cart_shipping_cost">{$shipping_cost}</span>

<span>{l s='Shipping' mod='blockcart'}</span>

</div>

Préparation du prix total du panier sans transport

Maintenant il faut dans le même fichier modifier le prix total que nous calculerons plus loin :

<span id="cart_block_total" class="price ajax_block_cart_total">{$total}</span>

Remplacer la variable $total en $product_total qui va être créé en suivant

<span id="cart_block_total" class="price ajax_block_cart_total">{*$total*}{$product_total}</span>

Création du prix total sans transport

Trouver les lignes suivantes dans le fichier

<span class="ajax_cart_total" {if $cart_qties == 0}style="display:none"{/if}>

   {if $cart_qties > 0}

   {if $priceDisplay == 1}

   {convertPrice price=$cart->getOrderTotal(false)}

{else}

   {convertPrice price=$cart->getOrderTotal(true)}

         {/if}

   {/if} 

</span>

Et modifier tout le code dans le span comme cela :

<span class="ajax_cart_total" {if $cart_qties == 0}style="display:none"{/if}>

{$product_total}

</span>

Javascript du panier Prestashop

Aller dans /modules/blockcart/ajax-cart.js puis editer le fichier puis trouver la ligne

$('.ajax_block_cart_total').text(jsonData.total);

En

//$('.ajax_block_cart_total').text(jsonData.total);

$('.ajax_block_cart_total').text(jsonData.productTotal);

Modification du code php générant le panier en retirant les frais de transports

 Dans /modules/blockcart/blockcart.php la dernière modification enfin

Trouver cette ligne

'total' => Tools::displayPrice($params['cart']->getOrderTotal($useTax, Cart::BOTH_WITHOUT_SHIPPING), $currency), 

Et ajouter avant comme ceci 

'product_total' => Tools::displayPrice($params['cart']->getOrderTotal($useTax, Cart::BOTH_WITHOUT_SHIPPING), $currency),

'total' => Tools::displayPrice($params['cart']->getOrderTotal($useTax, Cart::BOTH_WITHOUT_SHIPPING), $currency), 

Et voilà vous n'avez plus les frais de transport dans le panier