Bonjour,
J'avais complètement oublié que Xavier avait fait l'affichage du "select" à la main ; qui explique donc pourquoi les valeurs ne sont pas dans l'ordre puisque l'affichage se en fonction de l'ordre des prix
Vous pouvez donc remplacer :.
<select id="hikashop_product_quantity_select_<?php echo $i; ?>" onchange="var id = this.id.replace('select','field'); document.getElementById(id).value = this.value;">
<?php
$pricesSet = array();
foreach($this->row->prices as $price){
if($price->price_min_quantity == 0)
$price->price_min_quantity = 1;
if(in_array($price->price_min_quantity,$pricesSet) || $price->price_min_quantity < $min_quantity)
continue;
$pricesSet[] = $price->price_min_quantity;
echo '<option value="'.$price->price_min_quantity.'">'.$price->price_min_quantity.'</option>';
}
if(empty($pricesSet)){
for($j = $min_quantity; $j <= $max_quantity; $j += $min_quantity){
echo '<option value="'.$j.'">'.$j.'</option>';
}
}
?>
</select>
Par :
<?php
$values = array();
foreach($this->row->prices as $price) {
$price_min_qty = max((int)$price->price_min_quantity, $min_quantity);
$values[$price_min_qty] = $price_min_qty;
}
if(empty($values)) {
$r = range($min_quantity, $max_quantity, $min_quantity);
if(!in_array($max_quantity, $r))
$r[] = $max_quantity;
$values = array_combine($r, $r);
}
ksort($values);
$id = 'hikashop_product_quantity_field_'.$i;
echo JHTML::_('select.genericlist', $values, '', 'onchange="document.getElementById(\''.$id.'\').value = this.value;"', 'value', 'text', $current_quantity);
?>
Cordialement,