osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Dropdown de tri des produits, Comment trier les produits dans le product listing
BARABASE44
posté 2 Oct 2012, 18:05
Message #1


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 15
Inscrit : 23-March 12
Lieu : Nantes
Membre no 30783



Bonjour.
J'ai fait en sorte que ma page product_listing affiche les produit un par un, en liste sans tableau.
Je souhaite maintenant pouvoir trier ces produits suivant plusieurs critères définis dans une dropdown (tri unique à chaque demande, sans croisement de critères)
J'ai donc rajouté dans mon index.php une liste de tri :
CODE
$ortri = array(
'Trier par titre de A à Z'=> 1,
'Trier par titre de Z à A' => 2,
'Trier par auteur de A à Z' => 3,
'Trier par auteur de Z à A'=> 4,
'Trier par ordre de prix croissant' => 5,
'Trier par ordre de prix décroissant' => 6,
'Trier par éditeur de A à Z'=> 7,
'Trier par éditeur de Z à A'=> 8
);
function generateSelect($name = '', $options = array()) {
$html = '<select name="'.$name.'">';
foreach ($options as $option => $value) {
$html .= '<option value='.$value.'>'.$option.'</option>';
}
$html .= '</select>';
return $html;
}
$html = generateSelect('ortri', $ortri);
?>
<select name="ortri">
<option value="1">Trier par titre de A à Z</option>
<option value="2">Trier par titre de Z à A</option>
<option value="3">Trier par auteur de A à Z</option>
<option value="4">Trier par auteur de Z à A</option>
<option value="5">Trier par ordre de prix croissant</option>
<option value="6">Trier par ordre de prix décroissant</option>
<option value="7">Trier par éditeur de A à Z</option>
<option value="8">Trier par éditeur de Z à A</option>
</select>


Comment puis-je intégrer un switch en conditionnant les case par les valeurs de tri de ma dropdown ? Je sèche ... Merci d'avance


MySQL 5.1.37 - osCommerce v2.2 RC1 W3C - PHP 5.2.10 - Apache/2.2.13 (Win32) - En local
Go to the top of the page
 
chti_poupon
posté 3 Oct 2012, 14:43
Message #2


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour
Limiter les listes à 1 se fait en changeant la réponse dans admin - configuration - valeurs maximum - Résultat de recherche et en mettant 1.
Trier les listes se fait en cliquant sur la tête de colonne choisie.
Maintenant, dans catalog/includes/modules/product_listing.php, tu as (vers la ligne n°44):
Code
    if ( ($column_list[$col] != 'PRODUCT_LIST_BUY_NOW') && ($column_list[$col] != 'PRODUCT_LIST_IMAGE') ) {
      $lc_text = tep_create_sort_heading($HTTP_GET_VARS['sort'], $col+1, $lc_text);
    }

Comme c'est $col qui donne le numéro de la colonne de tri (+1, car numérotation à l'anglaise départ à 0), il devrait t'être possible d'y intégrer ton choix.

CEPENDANT, cette contrib répond exactement à ton besoin, en respectant d'ailleurs le système de tri originel. Pourquoi réinventer la roue ?

Bon Code !
Chti poupon
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 28th March 2024 - 15:32
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)