joanne Posted April 20, 2011 Share Posted April 20, 2011 Bonjour, Je souhaite remplacer la zone de texte “Quantité” par une liste déroulante ne contenant que des multiples de 12.Et ce la juste sur une seule catégorie.Es ce possible ? L'avez vous déjà fait?Merci Link to comment Share on other sites More sharing options...
Christian Lescuyer Posted April 20, 2011 Share Posted April 20, 2011 C'est possible. Il faut modifier le template product.tpl.Par exemple, remplacer la ligne 309, qui dit ça <input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" size="2" maxlength="3" {if $product->minimal_quantity > 1}onkeyup="checkMinimalQuantity({$product->minimal_quantity});"{/if} /> Par ça (plus de gestion de quantité minimale) : 12 24 36 Pour le déclencher pour une seule catégorie, il faut ajouter un test en Smarty pour choisir l'une ou l'autre option. Link to comment Share on other sites More sharing options...
joanne Posted April 21, 2011 Author Share Posted April 21, 2011 Merci pour cette réponse rapide. Super.Mais autre question, qu'es ce qu'un test en smarty? Link to comment Share on other sites More sharing options...
Christian Lescuyer Posted April 21, 2011 Share Posted April 21, 2011 qu'es ce qu'un test en smarty? C'est un moyen d'afficher des éléments différents en fonction d'une condition. Il y a plein d'exemples dans les templates. Prenons par exemple le template new-products.tpl. S'il y a des produits, on les affiche. Sinon, on affiche No new products (traduit). {if $products} {include file="$tpl_dir./product-sort.tpl"} {include file="$tpl_dir./product-list.tpl" products=$products} {include file="$tpl_dir./pagination.tpl"} {else} {l s='No new products.'} {/if} Le test commence par un {if ...} et se termine par un {/if}. Éventuellement il y a un {else} au milieu pour le second terme de l'alternative. Si on est soigneux, c'est pas trop difficile à écrire. Ne pas oublier le {/if} par exemple !La difficulté c'est plutôt de trouver où est l'info (ce qu'on teste). Pour ça on peut s'aider de la fenêtre de debug, qui s'affiche automatiquement si on met {debug} dans le template. Toutes les variables disponibles y sont. Link to comment Share on other sites More sharing options...
joanne Posted April 21, 2011 Author Share Posted April 21, 2011 OKi super merci beaucoup pour toutes ses explications. Link to comment Share on other sites More sharing options...
joanne Posted April 21, 2011 Author Share Posted April 21, 2011 Derniere petite question, le fichier du template est ou? Dans le dossier thème?Merci Link to comment Share on other sites More sharing options...
Christian Lescuyer Posted April 21, 2011 Share Posted April 21, 2011 Oui, ils sont dans le dossier theme. Ce sont les fichiers qui ont une extension .tpl.Certains représentent une page plus ou moins complète, comme product.tpl, d'autres un bloc qui est inclus dans une autre page. Link to comment Share on other sites More sharing options...
travisti Posted July 6, 2012 Share Posted July 6, 2012 (edited) Bonjour ! Je souhaite également proposer des quantités prédéfinies pour le choix des articles sur mon site. J'ai donc inséré ce morceau de code mais rien a faire, le champ quantité reste comme il est par défaut Après plusieurs heures de recherches je n'arrive toujours pas a mettre en place cette solution sur mon site !! Pourriez-vous m'aider ? je dois rendre ce site dans le cadre de mon projet de fin d'études Merci Le pire c'est que ce petit bout de code mis tout seul dans un nouveau fichier fonctionne voici le bout de code en question sur la version 1.4.8 dans le fichier product.tpl : <!-- quantity wanted --> <p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) OR $virtual OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}> <label>{l s='Quantity :'}</label><br/> <pre class='prettyprint'><br/> <select name="qty" id="quantity_wanted"><br/> <option value="12">12</option><br/> <option value="24">24</option><br/> <option value="36">36</option><br/> </select><br/> </pre> </p> Edited July 6, 2012 by travisti (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