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.

Discussion

41 discussions

  • bonjour, comment procéder pour avoir une notification à l’écran du type « cet article a été ajouté au panier », lorsqu’on ajoute un article à notre panier ?

    Répondre à ce message

  • 6

    Bonjour Bernard,
    je teste ton plug-in pour un projet de site, bravo pour cette proposition.

    voici mes question et points de blocage :

    1/ dans mon squelette rubrique, je voudrais simplement trier les différents produits par rubrique, mais le critère id_rubrique n’est pas accepté, est-ce normal ?

    tu spécifies pourtant que : Du côté squelette on bouclera avec (PRODUITS) et sur les balises et critères suivants :
    Rubrique (id_rubrique de l’objet)

    voilà le bout de code qui n’est pas conforme

    <BOUCLE_boutique(PRODUITS) {id_rubrique}>
    #NOM
    #DESCRIPTIF
    #PRIX
    #TEXTE
    </BOUCLE_boutique>

    De plus, en insérant la balise #BOUTIQUE_ITEMS dans le code suivant, rien ne se passe :

    <BOUCLE_boutique(PRODUITS)>
    #BOUTIQUE_ITEMS
    </BOUCLE_boutique>

    2/ Je n’arrive pas à afficher le panier avec l’ajout de <item1> dans la zone de texte du produit (pour mon premier produit ID 1) : rien ne s’affiche >> est-ce un paramétrage du plugin qui n’est pas bon ?

    je n’ai pas compris comment éditer les champs du panier, donc j’ai laissé les éléments par défaut [« Name » , « Price » , « Quantity » , « Total »] (voir image jointe)

    Merci d’avance si tu peux m’éclairer sur ces points !

    • Bonjour,

      Sauf erreur de ma part, le champ de table récupérant l’id de la rubrique est rubrique . Don on doit boucler avec id_rubrique=#RUBRIQUE ou {rubrique} .
      C’est un défaut que je tente de modifier dans la version future.

      En suite pour afficher un item tu dois éditer de nouveau ton produit, joindre une image au dit produit et insérer le code suivant dans le texte : <itemxxx> xxx étant le numéro de ta photo et non pas du produit.

      Enfin pour le panier il suffit de passer la balise :<li><:boutique:your_cart:> contient #BOUTIQUE_QUANTITE produit(s)</li>par exemple et là où tu le souhaites dans ton squelette .

      Ensuite on peut améliorer le panier avec les autres balises comme par exemple :

      <li>#BOUTIQUE_ITEMS</li>
      <li>[Frais d'envoi :(#BOUTIQUE_SHIPPING_COST)]</li>
      <li>#BOUTIQUE_FINAL_TOTAL</li>
      <li>#BOUTIQUE_METHODE</li>

      Enfin pour finir dans la config de CFG je mets :

       Thumb_image » , « Name » , « Price » , « decrement » , « Quantity » , « increment » , « Total »]

      Et qui affiche une vignette de l’objet et la possibilité d’augmenter ou de diminuer le nombre du produit dans le panier.

      N’hésites pas à revenir en cas de problème.

    • Merci pour ta réponse !

      voici mon retour :
      test 1 : effectivement, le critère

       {rubrique}

      ne provoque plus de bug, mais par contre, n’affiche pas pour autant les produits

      <BOUCLE_boutique(PRODUITS){rubrique}>
      #NOM
      #DESCRIPTIF
      #TEXTE
      </BOUCLE_boutique>

      test 2 : le code suivant, créé une erreur dans le squelette, une erreur de critère inconnu (comme avant avec le critère id_rubrique) :

      {id_rubrique=#RUBRIQUE}

      donc pour faire mes tests, je suis obligée d’enlever le critère rubrique, mais je vois mes produits sur toutes les pages rubriques ! (alors que j’avais fait une seule rubrique boutique, dans laquelle je voulais afficher un article et des produits...)

      en revanche, pour afficher un panier et faire le lien vers le panier, ça fonctionne ! Merci !

      si tu as un autre point d’éclairage pour cette histoire de critère par rubrique ?
      Merci d’avance !

    • Bernard Blazin

      Est-ce que tu as une boucle Rubriques englobante ?

      Si oui ce sera dans la boucle produit : {rubrique=id_rubrique}

      D’ici quelques jours, je mettrais en ligne une nouvelle version qui ne tient plus compte de tout ça et qui permettra vraiment de travailler sur l’id_rubrique de l’objet.

    • Bonjour,

      j’ai le même problème. J’ai la même boucle que @alquitte, et elle n’affiche rien

      Bonne journée,

      Eric LM

    • Bonjour,

      Est ce que tu cherches à afficher tous les produits d’une même rubrique, ou tous les produits de toutes les rubriques ?

      Je viens de faire ce simple test et ça marche :

      <BOUCLE_produit_1(RUBRIQUES){tout}>
      <BOUCLE_produit_2(PRODUITS){rubrique=#ID_RUBRIQUE}>
      		#NOM <br/>
      </BOUCLE_produit_2>
      </BOUCLE_produit_1>

      Pour une simple rubrique il suffit de renseigner l’id dans la première boucle.

    • Pardon pour le dérangement. J’avais mal écrit #ID_RUBRIQUE (je l’avais laissé en minuscules) Effectivement les produits s’affichent.
      Passons à l’étape suivante : le petit caddie et le paiement en ligne...
      Bonne journée,

      Eric LM

    Répondre à ce message

  • bonjour,

    j’ai installé le plugins sur spip 2.1 et saka-spip ainsi que les pré-rquis.

    Tout colle, je peux ajouter des produits, des photos et tout et tout, le lien "ajouter au panier est bien présent, sauf que...

    le choix des moyens de paiement et le panier n’apparaissent nule part.

    le lien « ajouter au panier » pointe sur « javascript : ; »

    sachant que le php est un langage qui ne m’aime pas du tout, quelqu’un pourrait-il m’aider ?

    Répondre à ce message

  • bonjour
    je n’arrive pas à afficher les produits sur mon site.
    J’ai bien créé des produits dans mon espace privé/boutique (en rattachant mon produit dans une rubrique créée aussi), je vois la liste des produits aussi dans mon interface privé, j’ai paramétré la boutique dans cfg, mais rien n’apparaît sur le site.
    qu’ai-je pu oublier ?
    Merci

    Répondre à ce message

  • 3

    bonjour,
    je suis en train de tester votre plugin, et je remarque un bug avec le plugin Lecteur multimédia

    des que le lecteur est actif, la boutique ne fonctionne plus, le contenu du panier n’est plus comptabilisé.

    j’espère que vous trouverez une solution.

    cordialement

    • après quelques tests avec Suske sur irc, il semble qu’avec simpleCart.js v3.0.5 le panier fonctionne avec Lecteur Multimedia, mais évidement on perd les balises..

      voici l’url de mes travaux en ligne avec simpleCart.js v2.0.1 + le lecteur pour que vous vous rendiez compte : la boutique

    • Bernard

      Bonjour, la solution est peut être bien en-dessous de ce fil. Je fais quelques tests et je reviens ici..

    • Wilowfr

      Bonjour
      J’utilise aussi le plugin lecteur multimédia et tout fonctionne correctement avec les modifications en dessous.

    Répondre à ce message

  • 3
    wilowfr

    bonjour
    Un petit commentaire pour dire que le plugin avec les modifications que j’ai signalé dans le message plus bas fonctionne également dans spip3.
    J’ai copié le fichier fonds/cfg_boutique.html dans formulaires/configurer_boutique.html
    Jet créer prive/squelettes/contenu/configurer_boutique.html avec le code

    « <:petite_boutique:configuration_boutique :>

    #FORMULAIRE_CONFIGURER_BOUTIQUE

     »

    puis changé la version de spip dans plugin.xml pour

    « necessite id="SPIP" version="[2.1.8 ;3.0.99]" »
    et ça fonctionne.
    De légères modifications css seront un plus pour faire figurer l’icone à côté du mot Boutique dans le menu Edition et aussi pour recadrer le bouton ’Créer un produit’ mais ça n’a aucune importance pour le fonctionnement.

    • Bernard

      Bonjour, et bravo pour les modifications. Peut-être pourriez vous m’envoyer un zip de votre travail, cela me permettrait de faire les retouches nécessaires pour comitter et proposer une nouvelle version pour SPIP 3 ?

    • wilowfr

      Bonjour
      C’est envoyé .. si ça peut aider c’est avec plaisir.

    • Bernard

      Merci ! Effectivement ça va beaucoup m’aider...et bravo encore pour le travail fourni.

    Répondre à ce message

  • wilowfr

    Bonjour
    Merci pour ce plugin. Après pas mal d’essais sans succès j’ai pu le faire fonctionner.
    C’est le fichier boutique_head.php qui posait problème, pour moi. J’ai fini par effacer le contenu de ce fichier et créer un fichier inc_header :
    « 

    <script type="text/javascript" src="#CHEMIN{js/dropdowncontent.js}"></script> <script type="text/javascript" src="[(#CHEMIN{js/mootools-1.3.2-min.js})]"></script> <script src="#CHEMIN{js/fr2-simplecart.js}" type="text/javascript" charset="utf-8"></script>

    <script type="text/javascript">
    [(#CONFIG{boutique/method_paypal}|oui) simpleCart.checkoutTo=PayPal;]
    [(#CONFIG{boutique/paypal_account}|!={' '}|?{'simpleCart.email="'#CONFIG{boutique/paypal_account}'";',''})]
    [(#CONFIG{boutique/method_google_checkout}|oui) simpleCart.merchantId="[(#CONFIG{boutique/google_merchant_id})]";]
    simpleCart.currency=EUR;
    [(#CONFIG{boutique/tax_rate}|!={' '}|?{'simpleCart.taxRate='#CONFIG{boutique/tax_rate}';',''})]
    [(#CONFIG{boutique/shipping_flat_rate}|!={' '}|?{'simpleCart.shippingFlatRate='#CONFIG{boutique/shipping_flat_rate}';',''})]
    [(#CONFIG{boutique/shipping_quantity_rate}|!={' '}|?{'simpleCart.shippingQuantityRate='#CONFIG{boutique/shipping_quantity_rate}';',''})]
    [(#CONFIG{boutique/shipping_total_rate}|!={' '}|?{'simpleCart.shippingTotalRate='#CONFIG{boutique/shipping_total_rate}';',''})]
    [(#CONFIG{boutique/ok_url}|!={''}|?{'simpleCart.successUrl="'#CONFIG{boutique/ok_url}'";',''})]
    [(#CONFIG{boutique/error_url}|!={''}|?{'simpleCart.cancelUrl="'#CONFIG{boutique/error_url}'";',''})]
    [(#CONFIG{boutique/pending_url}|!={''}|?{'simpleCart.pendingUrl="'#CONFIG{boutique/pending_url}'";',''})]
    [(#CONFIG{boutique/cart_headers}|!={''}|?{'simpleCart.cartHeaders='#CONFIG{boutique/cart_headers}';',''})]
    </script>

     »
    Ce n’est pas parfait comme codage mais ça fonctionne et ça permet toujours de tirer profit des réglages saisis dans le paramétrage du plugin dans la zone privée du site.
    J’ai remplacé jquery par mootools et j’ai utilisé la version 2 (française) du simplecart mais ça fonctionne avec le fichier intégré au plugin.
    J’utilise dans les entêtes du panier ["thumb_image", "name" , "Quantity" , "increment", "decrement", "remove", "options" , "Total"].
    Si ça peut servir à quelqu’un !
    Encore merci pour ce plugin.
    .

    Répondre à ce message

  • 3

    Bonsoir B.B,
    J’utilise ce plugin juste pour remplir un panier et ensuite envoyé le formulaire de commande mais je galère grave !
    A chaque fois que je clique sur « Valider la commande » je tombe sur une page paypal....j’ai lu tous les commentaires pas je vois pas de solutions est ce que tu pourra m’aider ? Merci

    Répondre à ce message

  • 1

    Ce plugin n’est pas reconnu avec Spip 3,
    cela est-il normal ?

    • Bonjour,

      A priori les compatibilité sont inscrite en haut de l’article à droite et il est écrit 2.1 : donc oui c’est logique qu’il ne soit pas reconnu.

      La dernière mise à jour est de 2011 donc ...

    Répondre à ce message

  • Hello Bernard,
    Sur le site de test/démo, le plug-in est en version 1.1. Mais je ne la vois pas sur la zone qui ne propose que la version 1.0.
    J’ai quelques propositions pour la petite boutique.
    Autant faire ça à partir de la dernière version ?
    Me dire si sans intérêt.
    Merci.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom