changement de la quantité d'entrée de liste déroulante pour définissables par l'utilisateur quantités dans des paquets
-
13-12-2019 - |
Question
Comment puis-je remplacer le champ de texte défini par l'utilisateur des quantités à regrouper des produits avec un menu déroulant?
Exemple ici: https://www.sconch.com/test-bundle - voir le Test de l'Article 1
J'ai réussi à remplacer tous les autres champs de quantité avec des listes déroulantes, mais ne peut pas travailler sur la façon de faire pour les composants de regrouper des produits
Merci,
Hugh
La solution
La manière d'y parvenir est de modifier les fichiers suivants:
/app/design/frontend/[YOUR_THEME]/[YOUR_CHILD]/template/bundle/catalog/product/view/type/bundle/option/radio.phtml
/app/design/frontend/[YOUR_THEME]/[YOUR_CHILD]/template/bundle/catalog/product/view/type/bundle/option/select.phtml
Vous avez besoin de trouver la ligne qui ressemble à ceci (ce peut être légèrement différent en fonction de votre thème):
<input class="txtIn qty<?php if (!$_canChangeQty) echo ' qty-disabled' ?>" onkeyup="bundle.changeOptionQty(this, event)" onblur="bundle.changeOptionQty(this, event)" <?php if (!$_canChangeQty) echo ' disabled="disabled"' ?> id="bundle-option-<?php echo $_option->getId() ?>-qty-input" type="text" name="bundle_option_qty[<?php echo $_option->getId() ?>]" value="<?php echo $_defaultQty ?>" />
et les remplacer par:
<?php if (!$_canChangeQty): ?>
<input class="txtIn qty<?php if (!$_canChangeQty) echo ' qty-disabled' ?>" onkeyup="bundle.changeOptionQty(this, event)" onblur="bundle.changeOptionQty(this, event)" <?php if (!$_canChangeQty) echo ' disabled="disabled"' ?> id="bundle-option-<?php echo $_option->getId() ?>-qty-input" type="text" name="bundle_option_qty[<?php echo $_option->getId() ?>]" value="<?php echo $_defaultQty ?>" />
<?php else: ?>
<select class="txtIn qty" onclick="bundle.changeOptionQty(this, event)" onkeyup="bundle.changeOptionQty(this, event)" onblur="bundle.changeOptionQty(this, event)" id="bundle-option-<?php echo $_option->getId() ?>-qty-input" type="select" name="bundle_option_qty[<?php echo $_option->getId() ?>]" >
<?php if (!$_option->getRequired()): ?>
<option value="0">0</option>
<?php endif; ?>
<option value="1" <?php if ($_defaultQty=='1'): ?>selected<?php endif; ?>>1</option>
<option value="2" <?php if ($_defaultQty=='2'): ?>selected<?php endif; ?>>2</option>
<option value="3" <?php if ($_defaultQty=='3'): ?>selected<?php endif; ?>>3</option>
<option value="4" <?php if ($_defaultQty=='4'): ?>selected<?php endif; ?>>4</option>
<option value="5" <?php if ($_defaultQty=='5'): ?>selected<?php endif; ?>>5</option>
<option value="6" <?php if ($_defaultQty=='6'): ?>selected<?php endif; ?>>6</option>
<option value="7" <?php if ($_defaultQty=='7'): ?>selected<?php endif; ?>>7</option>
<option value="8" <?php if ($_defaultQty=='8'): ?>selected<?php endif; ?>>8</option>
<option value="9" <?php if ($_defaultQty=='9'): ?>selected<?php endif; ?>>9</option>
<option value="10" <?php if ($_defaultQty=='10'): ?>selected<?php endif; ?>>10</option>
<option value="11" <?php if ($_defaultQty=='11'): ?>selected<?php endif; ?>>11</option>
<option value="12" <?php if ($_defaultQty=='12'): ?>selected<?php endif; ?>>12</option>
<option value="13" <?php if ($_defaultQty=='13'): ?>selected<?php endif; ?>>13</option>
<option value="14" <?php if ($_defaultQty=='14'): ?>selected<?php endif; ?>>14</option>
<option value="15" <?php if ($_defaultQty=='15'): ?>selected<?php endif; ?>>15</option>
<option value="16" <?php if ($_defaultQty=='16'): ?>selected<?php endif; ?>>16</option>
<option value="17" <?php if ($_defaultQty=='17'): ?>selected<?php endif; ?>>17</option>
<option value="18" <?php if ($_defaultQty=='18'): ?>selected<?php endif; ?>>18</option>
<option value="19" <?php if ($_defaultQty=='19'): ?>selected<?php endif; ?>>19</option>
<option value="20" <?php if ($_defaultQty=='20'): ?>selected<?php endif; ?>>20</option>
</select>
<?php endif; ?>
Comme vous le verrez, cela ressemble pour voir si la quantité peut être réellement changé et, s'il le peut, utilise un menu déroulant avec des quantités de 0 à 20.Si l'instruction autour de 0 garantit que 0 est disponible uniquement si l'élément n'est pas un élément requis dans le bundle.