Ajouter un champ personnalisé sur des fiches produits Shopify

E-commerce juil. 08, 2020

Vous vendez des produits qui nécessite une information de la part de votre client comme un prénom à afficher sur un collier ou une image à imprimer sur un mug ?

Par défaut, les fiches produits Shopify ne permettent pas aux clients d'ajouter d'information lorsque qu'un produit est ajouté au panier.

Je vais vous expliquer comment ajouter des champs personnalisés sur votre fiche produit Shopify.

Je vais m'appuyer sur le thème Début pour la suite.

Tout d'abord, nous allons sur l'admin Shopify :

  • Cliquez sur Boutique en ligne
  • Puis, sur le thème utilisé, cliquez sur Actions puis modifier le code
  • Ensuite, ouvrez le fichier product-template.liquid dans Sections

Gérer les images ou documents de votre client

  • Recherchez le code commençant par {% form
  • Nous ajoutons la propriété enctype: 'multipart/form-data' à notre formulaire. Cela permet de collecter les images ou documents envoyés par votre client.

Nous nous retrouvons avec une ligne ressemblant à ceci :

{% form 'product', product, ..., enctype: 'multipart/form-data' %}

Ajouter un champs personnalisé en fonction du type de produit

Le template de la produit est le meme pour tous les produits. Si nous ajoutons un champs personnalisé, ce champs apparaitra pour tous les produits.

Sauf si nous ne vendons qu'un seul produit, il vaut mieux afficher les champs personnalisés lorsqu'ils sont necessaire.

Dans notre exemple, nous allons afficher des champs personnalisés en fonction du type de produit.

Admettons que nous avons deux types de produits :

  • un type de produit Produit personnalisable avec 1 image pour des mugs où le client peut envoyer une image
  • et un type de produit Produit avec texte personnalisable où le client peut écrire un prénom

Nous ajoutons ce code à l'intérieur du formulaire

{% case product.type %}
  {% when "Produit personnalisable avec 1 image" %}
    {% include 'custom-fields-image-personnalisable' %}
  {% when "Produit avec texte personnalisable" %}
    {% include 'custom-fields-texte' %}
{% endcase %}

Ce code ajoutera les champs personnalisés en fonction du type de produit.

Ajout du champ texte personnalisé

Nous ajoutons le fichier custom-fields-texte.liquid dans Snippets. Et nous y ajoutons le code suivant:

<ul>
  <li class="block">
    <label for="filename">Image</label>
    <input type="file" id="filename" name="properties[Image]" accept="image/png, image/jpeg" required="required">
  </li>
</ul>

Ajout du champs image personnalisée

Nous ajoutons cette fois le fichier custom-fields-image-personnalisable.liquid dans Snippets. Et nous y ajoutons le code suivant:

<ul>
  <li class="block">
    <label for="filename">Image</label>
    <input type="file" id="filename" name="properties[Image]" accept="image/png, image/jpeg" required="required">
  </li>
</ul>

Adaptation

Nous avons utilisé ici le type de produit pour afficher les champs personnalisés. Notez qu'il est possible de les afficher aussi en fonction des tags, collections, etc.

A vous de jouer !

Super ! Vous vous êtes inscrit avec succès.
Super ! Effectuez le paiement pour obtenir l'accès complet.
Bon retour parmi nous ! Vous vous êtes connecté avec succès.
Parfait ! Votre compte est entièrement activé, vous avez désormais accès à tout le contenu.