Bonsoir à tous et merci d'avance à ceux qui me lisent,

j'ai un site joomla avec un composant gerant une base de données de biens immobiliers (type de bien, ville, prix, etc.)
j'ai sur ce même site un module de recherche pour trouver rapidement un bien précis en fonction de deux listes déroulantes (type de bien, ville)

par défault le resultat est trié par prix en decroissant :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
// Add the list ordering clause.
$orderCol    = $this->state->get('list.ordering', 'p.price');
$orderDirn    = $this->state->get('list.direction', 'DESC');
$orderDirna    = $this->state->get('list.direction', 'ASC');//Ajouter par moi
$query->order($db->escape($orderCol.' '.$orderDirn));//le trie s'effectue selon $orderDirn
 
$dispatcher->trigger('onBeforeSearch', array(&$query, &$this->state));
 
// echo $query;
 
return $query;
}

je souhaiterai mettre dans le module de recherche une troisième liste déroulante avec deux choix: prix trie croissant/prix tri décroissant

j'ai tenté ça:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
	<input type="hidden" id="filter_order" name="filter_order" value="<?php echo $orderCol ?>"/>		<!--trie CroissantDécroissant-->
 
	<label for="filter_order_Dir"></label>
	<select id="filter_order_Dir" name="filter_order_Dir" class="recherche" size="1">
		<option selected="selected" value="0">- <?php echo JText::_('COM_JEA_FIELD_PRICE_LABEL2') ?> -</option>
		<option value="<?php echo $orderDirna ?>"><?php echo JText::_('COM_JEA_TCROI') ?></option><!--Pour le croissant -->
		<option value="<?php echo $orderDirn ?>"><?php echo JText::_('COM_JEA_TDCROI') ?></option> <!-- Pour le decroissant -->
		</select>
au premier abord, ça marche mais lorsque mon résultat fait plusieurs pages, quand on clic sur Page2, il perd le trie pour revenir à celui par defaut.
(logique car il se base sur $orderDirn )

je bloque pour dire en gros:
si ce n'est pas sélectionné: décroissant
si croissant : résultat croissant
si décroissant: résultat décroissant

Merci beaucoup pour vos suggestions.