CoolWistiti Posted May 10, 2017 Share Posted May 10, 2017 (edited) Bonjour, Je suis sur Prestashop 1.6.1.9. Je cherche un moyen de mettre le message "Stock disponible" à tous les produits qui sont en stock dans mon site. Mais comme je n'ai pas envie de saisir ce message pour mes 600 produits, ce serait trop long et fastidieux Peut-être faire une requête SQL? Alors j'ai vu qu'il existe un outil "Gestionnaire SQL" proposé par Prestashop, mais je ne sais pas du tout comment l'utiliser. J'y ai déjà entré cette requête: SELECT available_now = 'Stock disponible'FROM ps_product_langWHERE id_lang=(1) Mais ça ne marche pas. Peut-être "Gestionnaire SQL" n'est pas fait pour ça, alors pouviez-vous m'indiquer quels sont d'autres moyens plus adéquates. S'il y a quelqu'un qui pourrait m'aider, j'en serai très reconnaissant. Merci. Edited May 11, 2017 by CoolWistiti (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted May 10, 2017 Share Posted May 10, 2017 Là je crois qu'on atteint des sommets... 1°) cette option est native et proposée dans tous les thèmes. Il suffit de cocher l'option dans le BO "Afficher les stocks disponibles" 2°) Quand on y connait rien en requête SQL on évite, car vous risquez de gros ennuis. Vous faites une requête dans une table lang qui ne vous donnera jamais les stocks vu qu'ils n'y sont pas^^ Link to comment Share on other sites More sharing options...
CoolWistiti Posted May 11, 2017 Author Share Posted May 11, 2017 (edited) Bonjour Eolia, Je me suis très mal exprimer, je crois Ce dont vous me parlez c'est dans "Préférences/Produits/Afficher les quantités disponibles sur la fiche produit", et c'est pour afficher la quantité du stock disponible à un produit. Ce que je voudrais faire c'est quand un produit est en stock, il y aurait un message "Stock Disponible" affiché dans la page produit. Et je sais que je peux saisir ce message via le backoffice dans "Catalogue/Produits/MON PRODUIT/Quantités" puis je rempli le champ "Message si produit en stock". Mais malheureusement j'ai 600 produits à saisir. Et je sais que si je passais par une requête SQL, cela me prendrait que quelques secondes pour le faire. C'est pour ça que je vous demande de l'aide pour me guide à faire cette requête; ce qui me ferait gagner énormément de temps. Et je viens d'apprendre que je ne pouvais pas faire ceci avec "Paramètres Avancés/Gestionnaire SQL". Par contre le seul moyen qui me reste c'est de passer par phpMyAmin avec cette requête: update ps_product_lang set available_now = 'Stock disponible' where id_lang=(1) Je l'ai fait mais ça ne marche pas. J'ai du loupé quelque chose, sachant que je suis novice en Prestashop. Si vous pourriez me guider ce serait super sympa. Merci d'avance. Edited May 11, 2017 by CoolWistiti (see edit history) Link to comment Share on other sites More sharing options...
Alexandre Carette Posted May 11, 2017 Share Posted May 11, 2017 Salut, dans ton product.tpl {if $product->quantity > 0}{l s='Stock available'}{/if} cdt Link to comment Share on other sites More sharing options...
CoolWistiti Posted May 11, 2017 Author Share Posted May 11, 2017 Salut, dans ton product.tpl {if $product->quantity > 0}{l s='Stock available'}{/if} cdt Merci pour votre réponse. Ceci m'éviterait de passer par une requête SQL. Mais je ne sais pas où exactement dans le fichier product.tpl mettre votre condition. Je pense qu'il faut le mettre dans cette ligne mais je ne sais pas où exactement: <span id="availability_value"{if $product->quantity <= 0} class="warning_inline"{/if}>{if $product->quantity <= 0}{if $allow_oosp}{$product->available_later}{else}{l s='This product is no longer in stock'}{/if}{else}{$product->available_now}{/if}</span> Merci de me préciser s'il vous plaît. Link to comment Share on other sites More sharing options...
Alexandre Carette Posted May 11, 2017 Share Posted May 11, 2017 Tu met ce code ou tu veux que cela apparaisse dans la page... Link to comment Share on other sites More sharing options...
CoolWistiti Posted May 11, 2017 Author Share Posted May 11, 2017 (edited) C'est bon. Bon, si je mets {if $product->quantity > 0}{l s='Stock disponible'}{/if} n'importe où dans product.tpl alors il va être placé n'importe où dans ma page produit. Si je veux l'afficher à l'endroit où il devrait être comme prévu dans le thème de Prestashop alors voici ce que j'ai fait dans product.tpl. Je remplace dans le fichier product.tpl: <p id="availability_statut"{if !$PS_STOCK_MANAGEMENT || ($product->quantity <= 0 && !$product->available_later && $allow_oosp) || ($product->quantity > 0 && !$product->available_now) || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none;"{/if}> <span id="availability_label">{l s='Availability:'}</span> <span id="availability_value" class="label{if $product->quantity <= 0 && !$allow_oosp} label-danger{elseif $product->quantity <= 0} label-warning{else} label-success{/if}">{if $product->quantity <= 0}{if $PS_STOCK_MANAGEMENT && $allow_oosp}{$product->available_later}{else}{l s='This product is no longer in stock'}{/if}{elseif $PS_STOCK_MANAGEMENT}{$product->available_now}{/if}</span> </p> Par: {if $product->quantity > 0} <p id="availability_statut"> <span id="availability_value">Stock disponible</span> </p> {else} <p id="availability_statut"{if !$PS_STOCK_MANAGEMENT || ($product->quantity <= 0 && !$product->available_later && $allow_oosp) || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none;"{/if}> <span id="availability_label">{l s='Availability:'}</span> <span id="availability_value" class="label{if $product->quantity <= 0 && !$allow_oosp} label-danger{elseif $product->quantity <= 0} label-warning{else} label-success{/if}">{if $product->quantity <= 0}{if $PS_STOCK_MANAGEMENT && $allow_oosp}{$product->available_later}{else}{l s='This product is no longer in stock'}{/if}{elseif $PS_STOCK_MANAGEMENT}{$product->available_now}{/if}</span> </p> {/if} Sachant que je n'ai pas le thème par défaut de Prestashop. Mais cette partie du fichier product.tpl de mon thème est quasiment identique à celle du thème par défaut. Et maintenant je n'ai plus besoin de saisir en backoffice le message quand le produit est en stock pour les futurs produits et les anciens aussi. Merci beaucoup de m'avoir mis sur la bonne voie. Bonne journée Edited May 11, 2017 by CoolWistiti (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now