Stocks

Documentation en chantier du plugin Stocks

Gestion de quantités en stock sur les produits.

Dépot :
https://git.spip.net/spip-contrib-extensions/stocks.git

Le plugin étant en développement vous pouvez trouver des informations dans le readme du projet

Les stocks de produit sont gérables depuis une page gestion des stocks
accessible depuis le menu edition.
?exec=gerer_stocks

Chaque ligne du tableau affiche :
-  le titre du produit et son logo au survol
-  le statut du produit
-  le parent /rubrique
-  la reférence
-  livrable / immatériel (et mode de livraison si le plugin livraison est installé)
-  le stock : formulaire permettant d’initialiser un stock avec une valeur, ou de le mettre à jour. Les stocks non initialisés sont signalés.

BOUCLES

Parmètres :
id_stock
objet
id_objet
quantite

Afficher une liste déroulante dans une page panier, si le stock est supérieur a 1, sinon on affiche juste 1.

<td class="prix_unitaire">[(#GET{prix_unitaire}|prix_formater)]</td>
<td class="quantite">
#SET{quantite_choisi,''}
<BOUCLE_enStock(STOCKS){objet}{id_objet}>
#SET{stock, #QUANTITE}
</BOUCLE_enStock>
<B_dispoStock>
	<select name="quantites[#OBJET][#ID_OBJET]">
<BOUCLE_dispoStock(DATA){enum 1,#GET{stock}}{0,50}{si #GET{stock}|>{1}}>
	#SET{quantite_choisi, #ENV{quantites}|table_valeur{#OBJET}|table_valeur{#ID_OBJET}|sinon{#QUANTITE}}
	<option value="#VALEUR"[(#GET{quantite_choisi}|=={#VALEUR}|oui) selected]>#VALEUR</option>
</BOUCLE_dispoStock>
	</select>
</B_dispoStock>
	[(#SET{quantite_choisi,1})]
	#GET{quantite_choisi}
<//B_dispoStock>
</td>
<td class="montant">[(#GET{prix_unitaire}|mult{#GET{quantite_choisi}}|prix_formater)]</td>

BALISES

[(#EN_STOCK)] affiche la quantité dans un contexte sans utiliser de boucle. A noter que sur une page panier EN_STOCK ne fonctionnera pas comme attendu car l’objet en cours du contexte est panier_lien, la balise retourne alors la quantité

Exemple : Page produit pour conditionner l’ajout au panier

<BOUCLE_test_produit_enstock(CONDITION){si #EN_STOCK|>{0}}>
[<div class="ajouter_panier">(#BOUTON_ACTION{<i class="icon-plus icon-white" aria-hidden="true"></i><:paniers:action_ajouter:>,
						#URL_ACTION_AUTEUR{
							remplir_panier,
							produit-#ID_PRODUIT-1,
							#SELF|ancre_url{popup_panier}
						},
						pull-right
					})</div>]
</BOUCLE_test_produit_enstock>
  <button class="btn btn-disable pull-right"><:stocks:stock_epuise:></button>
<//B_test_produit_enstock>

Évolutions

v0.2.5

Supprimer un stock

-  Ajout d’une action pour supprimer un stock
-  Ajout au formulaire gerer stock (utilisé la page d’édition d’un produit et la page des stocks) d’un bouton action de suppression du stock.
-  Rechargement du bloc conteneur quand on agit sur le formulaire pour mettre a jour les infos et passer de créer à éditer/supprimer
-  ajout d’un pagination sur la liste des stocks, on trie par date inverse.

En test
-  Ajout aux utilise le plugin livraison
-  Ajout d’une colonne dans le listing des stocks « Livraison » qui affiche si le produit est immatériel ou livrable
-  dans le cas d’un produit livrable, et si le plugin livraison est installé, on affiche le/s modes de livraison « forcés » si il en a d’associés au produit, sinon on signale que les rêgles de livraison classique s’applique.

0.2.4
-  Ajoute un statut epuisé aux produits
-  Config : Dépublier un produit en le passant en statut épuisé quand son stock est <= 0
-  Au passage d’une commande a payé le stock est mis a jour
-  Repasser l’article en statut publié quand on re-crédite le stock

Discussion

2 discussions

  • Bonjour,

    Stocks est annoncé compatible avec SPIP 4.2, mais je ne trouve pas le dépôt / ZIP qui contient cette version compatible.

    Répondre à ce message

  • 1

    Bonjour,

    ce plugin est il implémentable avec les déclinaisons de prix pour créer un stock par déclinaison ?

    -  Si oui comment ?
    -  Si non quelqu’un aurait-t-il des pistes ?

    • Hello,

      En l’état je ne pense pas que ce soit utilisable tel quel.

      Tout dépend de la manière dont le plugin qui gère tes déclinaisons fonctionne. Actuellement je l’ai utilisé sur des objets produits, en théorie les stocks sont aussi utilisable sur d’autres objets mais je ne l’ai pas testé (les fonctions sont dans le code ...), Mais en théorie les stocks fonctionnent avec tout objet ayant un #PRIX ... l’interface de gestion des stocks devra certainement être adaptée je pense, pour afficher correctement ce que tu souhaite, mais tu peut surcharger cette page depuis ton squelette si besoin...

    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