Ma petite boutique

Gérer une simple petite boutique en ligne avec des options comme une loupe, un règlement paypal, la gestion d’un panier et encore des petits plus.

Ma petite boutique est un plugin qui permet de tenir un tout petit commerce en ligne.

Inspiré du plugin chats de Matthieu Marcillaud et du plugin SimpleCart, celui-ci offre la possibilité de vendre un certain nombres de produits classés par rubrique. Le “produit” devient donc un nouvel objet SPIP.

Celui-ci nécessite le plugin “Saisies” qui lui même nécessite “Bonux” , ainsi que CFG. Il est fortement recommandé d’installer également mediabox qui permet des effets intéressants sur les vignettes.

Autre précision pas moins négligeable, le plugin est entièrement compatible avec Champs-extras2, ce qui lui permet d’augmenter ses capacités comme l’ajout de nouveautés, de soldes, etc..

Ma petite boutique s’installe comme l’ensemble des plugins, nous ne reviendrons pas sur cet élément maintenant.

Lors de la création d’un nouveau produit, il est impossible de lui joindre une image. l’image du produit doit être ajoutée en éditant à nouveau le produit.

Deux modèles sont inclus dans le plugin.

<imgxxx|center|zoom> permet de créer une vignette qui, au passage de la souris, offre une loupe. Ce modèle ne fonctionne qu’une fois par produit.

<itemxxx> crée le panier avec le prix de vente de l’article et surtout la fonction “acheter” du même produit.

Dans l’objet produit il est possible de donner un nom (titre de l’objet) de faire un descriptif, de joindre un texte, un prix, une référence. EXTRAS2 permettant d’ajouter ce qui peut devenir nécessaire en plus des champs existants.

Du côté squelette on bouclera avec (PRODUITS) et sur les balises et critères suivants:

  1. Nom
  2. Descriptif
  3. Texte
  4. Prix
  5. Référence
  6. MAJ (date)
  7. Rubrique (id_rubrique de l’objet)
  8. et bien entendu l’id_produit

Les champs Descriptif et Texte acceptent la typo SPIP.

Côté espace privé, il n’y a rien de vraiment surprenant puisque l’on peut tout simplement voir, éditer et créer un nouveau produit.

Les produits se classent dans les rubriques traditionnelles de SPIP

Le plugin est disponible sur spip-zone et sous le nom de petite_boutique.

Pour plus de détails sur les balises utiles, merci de regarder les deux pages squelettes, livrées avec le plugin (produit.html et panier.html)

Actuellement en développement : Un petit forum attaché à l’objet permettant de déposer un avis sur le produit. D’autres méthodes de règlement: Chèques, virements.

Objectifs: Faire de ma Petite_boutique une véritable petite vitrine commerciale sans se prendre la tête avec des tonnes de gestion de produits/marchandises et surtout en conservant l’aspect technique de SPIP ( Bouclage, Balises, filtres, etc..)

On peut voir le plugin en action sur : http://boutique.bernardblazin.com/

Le squelette est horrible mais bon, il faut faire avec!

Login: admin

mot de passe : admine

Le règlement paypal se fait avec le site de test paypal, vous devez donc posséder un compte client de test sur Paypal sandbox.

Dernier point: Le plugin sur ce site est une version plus élaborée que celui présenté ici, mais encore en développement.

updated on 2 October 2019

Discussion

40 discussions

  • 2
    Renée Picard

    Bonjour

    J’aimerais tellement pouvoir utilisé Ma petite Boutique au lieu de Thelia!
    C’est moi qui ai fait, avec Thelia, paniers d’ici
    Je sais les XXXXXXX heures .................................. et j’aimerais tant que cela soit +++ simple!

    Donc voici quelques questions:
    Pour commencer et tester j’ai inclus dans le squelette d’article10.html :

    <INCLURE{fond=produit}>
    <INCLURE{fond=panier}>

    Est-ce la bonne procédure? Cela induit une erreur (double insert head).

    Est-il possible d’indiquer un nombre d’items (ex: 20 pots de confiture) et qu’après 20 pots vendus, un message indiquant «stock épuisé» apparaissent automatiquement?

    Est-il possible pour le client d’indiquer qu’il veut X pots de confiture autrement qu’en cliquant X fois sur ajouter au panier?

    Enfin pour le test lorsque je clique sur valider la commande, j’arrive sur une page paypal. Est-il possible d’arriver sur des conditions de paiement autre que paypal du genre payable sur livraison ou transfert bancaire?

    pour voir mes tests: http://www.coffretsforest.com/spip.php?article61

    ATTENTION: sur ce site, dans la section coffrets il y a des réels coffrets à vendre. Le développement de «Ma petite boutique» se fait sur la rubrique 10 qui n’est pas accessible autrement que par inscription directe de l’url.

    Merci pour ce plugin. Je veux bien aidé mais je ne connais rien au php. Par contre, si je réussis à bien faire fonctionner le tout, je serai heureuse de partager le squelette réalisé .

    • Je cherche actuellement quelqu’un qui pourrait m’aider dans le code JS et php pour remettre ce plugin à jour.

    • Et pour répondre au message plus haut, il ne faut pas confondre articles et produits. Le produit est un nouvel objet SPIP au même titre que la rubrique, la brève ou l’article. Il faut donc adapter la boucle en fonction de l’objet(PRODUITS).

    Reply to this message

  • Michouille la Bidouille

    Bonjour Bernard, une petite boutique qui a tout d’une grande ;-)
    C’est LA Boutique de mes Rêves lorsque je vais sur le site de démo avec en backoffice les modules “Récapitulatif des commandes”, “mouvement stock”, “stat produit” et “petite comptabilite” le frontoffice avec la gestion des paniers et paiement en ligne ...
    C’est Génial...
    Mais lorsque j’installe la version test (1.0) ma petite boutique deviens un cauchemar, serait il possible d’obtenir la version 1.1 du plugin (j’ai essayé sans succès un téléchargement sur spip zone) ;
    Mille Mercis
    Michouille la Bidouille

    Reply to this message

  • 8

    bonjour Bernard,

    J’ai installé ton plugin (à partir du svn) sur un SPIP 2.1.10 [17657], ainsi que :
    -  saisies 1.14.0
    -  yaml 1.5
    -  cfg 1.16.0
    -  mediabox 0.6.9
    -  bonux 2.2.22

    J’ai bien créé une rubrique “boutique”, créé un ou deux produits que j’ai placé dedans, mais je n’arrive toujours pas à voir apparaître le bouton ’ajouter au panier’ bien que j’ai inscrit <item1> dans le corps de texte.

    Si je force l’apparition du bouton ’ajouter au panier’ en ajoutant la ligne de code <a href="javascript:;" class="item_add"><:boutique:add_to_cart:></a>, il ne se passe rien quand je clique dessus... Me manquerait-il un plugin ? Je vois bien que l’appel javascript ne contient aucun argument cela est-il ’normal’ ? J’ai bien vu que sur ton site de test l’appel était identique et que pourtant cela fonctionnait... Il doit donc me manquer qq chose, mais quoi ?

    Merci d’avance
    Amicalement,
    Nicolas

    • Bonjour,

      Je ne connais pas yaml et d’ailleurs je ne sais pas à quoi il sert. Mais regarde un peu si le JS de ce plugin ne rentre pas en conflit avec celui de la petite boutique. En le désactivant vois tu bien le bouton? Tu sais qu’il faut également mettre une image produit et appeler dans l’article produit <itemxx>.

      Sinon si tu as une adresse je pourrais jeter un oeil..

    • Bonjour Bernard,

      Pour le Yaml, c’est un format de fichier structuré qui sert au plugin saisies.
      Pour le problème qui m’occupe, je pense avoir trouvé. J’insère bien <itemxxx> mais pour que cela fonctionne xxx doit être +1 par rapport au No. du produit... curieux non ?

      Pour l’adresse ce n’est pas possible, je suis en local, mais dès que j’ai fini, je t’envoi l’adresse.

      Cordialement,
      nicolas

    • Oui parce que je crois qu’il s’agit du numéro de l’image. (A vérifier)

    • C’est ça ! Il s’agit bien du numéro d’image.

    • Oui c’est assez logique! Comment vendre un produit sil il ne se voit pas? ;)... Bon j’ai une version bien plus évolué de ce plugin de base, mais j’ai encore plein de choses à modifier à la main dans le php pour que tout le monde puisse sans servir.. et j’avoue pas trop de temps.. Normal, c’est la retraite qui sonne!! :D

    • J’avoue avoir hâte de pouvoir tester votre version évolué du plugin :)
      Je ne vous embêterai pas en vous demandant une date de sortie, mais sachez que j’attends cela avec impatience :)

      Merci encore pour ce plugin !

    • Bonjour Bernard,

      La version sortie dernièrement serait-elle la mise à jours tant attendue ?
      Je n’y crois pas mais sait-on jamais :)

    • Bonjour,

      Non, je suis en stand by pour l’instant. j’avais demandé un peu d’aide sur la zone pour m’aider à reconstruire un fichier php paypal mais j’attends encore.. J’avance donc à tout petits pas.

    Reply to this message

  • La version est sur ​​le site de test et sur ​​l’écran n’est pas disponible?

    Reply to this message

  • jcdeloffre

    merci pour ce boulot. Pour ma petite boutique , ma très petite boutique, j’aurais voulu commencer doucement et utiliser la validation de commande par mail. j’ai cru comprendre que c’est une fonctionnalité prévue et en developpement , si je peux apporter une aide ça serait avec plaisir. Où en es-tu pour le moment?
    merci

    Reply to this message

  • 1
    Ben Guerreau

    Bonjour,
    Je voulais savoir si la petite boutique permet ou permettra peut-être plus tard d’intégrer les paiement Visa et Mastercard... Ou bien vous parait-il possible de l’associer au plugin Transactions.... ?
    Je me pose plein de questions parce que je dois réaliser un site avec une petite activité de vente en ligne pour une créatrice. Je voudrais vraiment pouvoir le faire avec SPIP mais cela m’a l’air compliqué étant donné que je ne connais presque rien au PHP.
    Merci de m’aider à y voir plus clair.
    Bien à vous !

    • Mêmes questions pour moi : paiement CB / compatibilité avec Transaction ? Merci Bernard.

    Reply to this message

  • Mehdi.B

    Bonjour,

    Au premier abord ce plugin me semblait bien intéressant et facile à mettre en œuvre, mais j’ai vite déchanté.
    Je pense l’auteur de ce plugin, doit être plus explicite en détaillant l’installation un peu plus, surtout pour sa mise en place, car en lisant les explication nous avons la fausse idée que son installation est facile et se fait comme tous autres plugin, alors que cela est bien plus compliqué.
    Je ne suis pas un novice en spip, ni un expert d’ailleurs, mais je me débrouille, mais j’ai jamais autant galérer pour l’installation du plugin “petite Boutique”, et après 3 jours d’essai, en lisant et relisant les commentaires je n’y arrive toujours pas.

    Ça ne serait pas plus simple si l’auteur nous explique “Step by Step” comment faire pour intégré ce plugin dans un site déjà existant comme c’est le cas dans la majorité des cas?
    Et aussi mettre en libre accès le squelette du site démo, pour voir comment mettre le mettre en place.

    Je sais que cela prends du temps, mais au moins, il y aura moins de questions, et les simples utilisateurs de spip comme moi ne se sentiront pas frustrés de ne pas réussir à mettre en place un simple plugin

    Mehdi

    Reply to this message

  • Bonjour,

    impossible d’ajouter un document à un nouveau produit, il faut enregistrer le produit pour voir le document apparaître. Pourtant l’upload est réalisé et il y a un enregistrement de créé dans la bdd table spip_documents avec statut=0. Est-ce normal? Y a t-il quelque chose à faire?
    D’avance merci

    Reply to this message

  • 3
    Renée Picard

    Bonjour

    J’ai mis cette boucle qui affiche bien tous les items de la rubrique et l’état du panier (toujours vide):

    <BOUCLE_produitrub(RUBRIQUES){tout}>
    <BOUCLE_produit(PRODUITS){rubrique=#ID_RUBRIQUE}>
     
                    #NOM | #PRIX $ <br/>
    				#TEXTE<br/>
     
    </BOUCLE_produit>
    </BOUCLE_produitrub>
     
    <h3><:simplecart:your_cart:> contient #BOUTIQUE_QUANTITE produit(s)</h3>
    <a href="#URL_PAGE{panier}">Voir votre panier</a>
     
    <li><:boutique:your_cart:> contient #BOUTIQUE_QUANTITE produit(s)</li>
    Frais d'envoi :#BOUTIQUE_SHIPPING_COST 
     
    <strong>Total :<span>#BOUTIQUE_FINAL_TOTAL</span></strong>  
     
    <div id="navcontainer">#BOUTIQUE_METHODE </div>
    <a href="javascript:;" class="simpleCart_checkout">Valider la commande</a>
    <a href="javascript:;" class="simpleCart_empty">Vider le panier</a>
    <a href="javascript:history.go(-1)">&laquo; Retour</a>

    Je suis incapable de faire apparaître un bouton ajouter au panier.
    Merci de votre aide.

    • Renée Picard

      J’oubliais. Dans le texte de l’article j’ajoute

      1. <itemX>
    • Bernard Blazin

      Bonjour,

      Comme tu l’as remarqué, itemxxx n’apporte pas d’image sur la boutique. il faut donc soit utiliser les modèles classiques SPIP, soit celui que j’ai fait en zoom.

      Pour ce qui est du panier tu a certainement oublié quelque chose dans le squelette.

      Peut -être tout simplement un INSERT_HEAD.. Ce serait bien d’avoir accès à ton code..

    • Renée Picard

      Bonjour
      Merci pour cette initiative de petite boutique!
      J’ai déjà développé un projet SPIP-THELIA (paniersdici.com) et j’ai eu de nombreuses difficultés.
      J’aimerais beaucoup pouvoir installer un système d’achat en ligne sans passer par SPIP THELIA

      Le présent projet est pour un artisan
      http://www.coffretsforest.com

      Je lui ai déjà installé des formulaires d’achat en ligne mais ce n’est pas concluant.
      Je développe donc un nouveau site (design, organisation ...) en local.

      J’ai dédié une rubrique: achat en ligne.
      Cette rubrique affichera tous les logos (images de coffret) cliquables des articles de la rubrique.
      Dans cette rubrique chaque article = un coffret à vendre (chaque coffret à vendre est unique) et j’ai ajouté en logo une petite image du coffret.
      Dans le panneau de la petite boutique, je renseigne titre description prix et photo de l’objet.
      Je note son identifiant.
      Dans l’article de la rubrique achat en ligne j’insère
      Jusque là tout va bien. J’ai changé l’euro pour le $
      Lorsque cela fonctionnera, j’ajouterai des boutons paypal.

      C’est le processus d’achat qui ne s’enclenche pas ???
      Voici la boucle (glanée sur SPIP contrib) que j’ai installée dans article-13.html 13 étant ma rubrique dédiée.
      J’y ai mis plusieurs bouts de code pour voir ce qui fonctionne.

      Lorsque cela fonctionnera, je disposerai cela autrement et ferai les CSS par la suite ...

      <BOUCLE_produitrub(RUBRIQUES){tout}>
      <BOUCLE_produit(PRODUITS){rubrique=#ID_RUBRIQUE}>
       
                      #NOM | #PRIX $ <br/>
                      #TEXTE<br/>
      <a href="javascript:;" class="simpleCart_checkout">Valider la commande</a>
      <div id="navcontainer">#BOUTIQUE_METHODE </div>
      <a href="javascript:;" class="item_add"><:boutique:add_to_cart:></a
       
      <a href="javascript:;" class="simpleCart_empty">Vider le panier</a>
      <a href="javascript:history.go(-1)">&laquo; Retour</a>
       
       
      </BOUCLE_produit>
      </BOUCLE_produitrub> 

    Reply to this message

  • 7

    bravo pour le plugin il semble parfait pour une petite boutiq
    cependant je rencontre un soucis Je suis sur SPIP 2.1.8
    j’ai créé mes produits dans ma boutique Ces derniers s’affichent- le squelette produit fonctionne
    mais lorsque je clique sur AJOUTER AU PANIER rien ne se passe ..La page affiche toujours YOUR CART CONTIENT PRODUIT(S)
    par contre si je clique sur VOIR VOTRE PANIER il m’affiche un resultat mais vu qu’il n’a rien ajouté au panier ..celui là est vide

    J’ai désinstalé le plugin et je l’ai réinstallé mais toujours impossible d’ajouter un produit au panier
    des pistes ? merci Manu

    • bonjour je crois savoir q c un problème de js mais je suis novice et je n’y connais pas grand chose en js..
      qq’un a t’il une idée ? merci encore Manu

    • Bonjour,

      J’ai eu exactement le même problème, et cela venait de mon code pour insérer les produits sur le site... je te suggère donc de revoir ton codage ;) (pour info j’ai fait un zip pour des squelettes zpip qui —bien sur— sont “copier/collable” dans d’autres type de squelettes.

    • salut olcost et merci bien de ton aide
      cependant je ne vois pas bien à quel code tu fais allusion puisque j’insère les produits via la boutique dans mon espace privé (creer un produit..)
      je débute en spip et ça n’est pas à mon avantage Quel code je dois vérifier ?
      merci Manu

    • Je te parle du codage de tes squelettes : insérer les produits en espace privé ne suffit pas, il faut ajouter a visibilité de ta boutique et de tes produits dans l’espace publique et ce en ajoutant des boucles dans les squelettes (rubrique, article, etc)...
      Les boucles d’affichage du produit, et d’affichage du lien vers le panier doivent être rigoureusement bien codées pour que le js puisse faire son travail...

      Si tu es débutant sous Spip je te conseille d’utiliser les squelettes Zpip qui découpe la page publique en bloc et sous bloc, ce qui permet à des débutants tels que toi et moi de mieux s’y retrouver...

    • Salut Olcost merci encore ..je touche au but
      je stylise la boutique Sais-tu comment afficher l’image du produit sur une boucle PRODUITS ? Je vois de nombreux balises et critères mais pas d’image ..
      merci Bon week end Manu

    • Je ne pense qu’il soit possible d’image sur une boucle : il faudrait pour cela ques les images soient considérée en tant que logo du produit, or il me semble qu’elles sont gérées comme des documents rattaché à celui ci ...à confirmer avec Bernard quand même ;)

    • salut dans le dossier modèles dans le plugin il y a le fichier item qui est utilisé pour afficher ton panier
      là il y a une image de ton produit la boucle en question boucle comme suit :

      <BOUCLE_a(PRODUITS){id_produit?}>
              #SET{titre,#NOM}<BOUCLE_shelfItem(DOCUMENTS){id_produit}{id_document=#ENV{id}}{tout}>
      
                  <div class="simpleCart_shelfItem">
                     [<h5 class="item_name">(#GET{titre})</h5>]
                  [<p class="item_Description">
               (#DESCRIPTIF|textebrut)
                      </p>] 
                [<div class="item_price" style="padding:3px;">Prix: € (#PRIX)</div>]
                <a href="javascript:;" class="item_add"><:boutique:add_to_cart:></a>
      
              <span class="item_thumb">[(#FICHIER|image_reduire{75}|extraire_attribut{'src'})]</span>
              </div>
      
              </BOUCLE_shelfItem>
      </BOUCLE_a>

      ...mais lorsque je copie cole ce code sur le fichier sur lequel j’ai besoin d’afficher l’image la boucle n’a aucun effet
      je sens bien q c chaud bouillant mais il manque une pincée de qqe chose ..
      toutes les idées sont bienvenues merci Manu

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom