Carnet Wiki

Version 12 — 12 février — moicubitus

Gestion de quantités en stock sur les produits.

Dépot :
https://zone.spip.org/trac/spip-zone/browser/_plugins_/stocks/trunk

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

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