Lister Les Catégories Par Ordre Alphabétique

5 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

Avec la version 6.3, je souhaite lister les catégories par ordre alphabétique dans l'administration. Pour commencer dans la page /administrer/produits.php?mode=modif&id

 

Je pense avoir trouver la bonne fonction dans display-product.php, mais je ne parviens pas à la modifier. J'ai fait pas mal d'essais :

 


    function construit_arbo_categorie(&$sortie, &$preselectionne, $parent = 0, $indent = '', $url_as_value = false)

    {

        $sql = 'SELECT c.id, c.nom_' . $_SESSION['session_langue'] . ', c.parent_id

            FROM peel_categories c

            WHERE c.parent_id = "' . intval($parent) . '"

            ORDER BY c.nom_' . $_SESSION['session_langue']';

 

par exemple...

 

mais sans succès.

 

Donc voici la question : est-ce la bonne fonction et si vous pouvez me dire comment la modifier ?

 

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

La fonction construit_arbo_categorie permet de construire la liste des catégories dans le menu déroulant (select multiple) des pages d'ajout/modification de categories. La modification faite sur la clause ORDER BY est bonne, vous pouvez préciser le sens du tri en ajoutant ASC ou DESC après  ORDER BY c.nom_' . $_SESSION['session_langue']';

Pour modifier l'ordre des catégories sur la page de liste de catégorie il faut modifier la fonction affiche_arbo_categorie défini sur la page administrer/categorie.php

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Cette ligne : ORDER BY c.nom_' . $_SESSION['session_langue']'; affiche une page blanche.

 

En laissant simplement ORDER BY ORDER BY c.nom l'affichage revient.

 

Le formulaire de modification des catégories m'affiche alors es catégories par ordre alphabétique, à condition de combiner cette correction avec la correction de display_product.php,

comme indiqué sur

 

Dans ce cas que les catégories sont ordonnées par ordre alphabétique, à la fois sur les pages modification et création des  produits, et ajout de catégories de l'administration.

 

Seul problème désormais, c'est que la liste des catégories dans l'admin, ne s'affiche plus.

 

Voici la ligne complète dans categories.php

 

ffunction affiche_arbo_categorie(&$sortie, $selectionne, $parent_id = 0, $indent = "", $first_line=0, $depth=1) {
    $sql = "SELECT c.id, c.reference, c.nom_" . $_SESSION['session_langue'] . ", c.etat, c.position, c.nb, c.image_" . $_SESSION['session_langue'] . "";
    if (is_category_promotion_module_active ()) {
        $sql .= ", c.promotion_devises, c.promotion_percent";
    }
    $sql .= ' FROM peel_categories c
        WHERE c.parent_id = "' . intval($parent_id) . '"
        ORDER BY c.nom     ASC';

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

Il y a deux fonctions différentes :

- construit_arbo_categorie qui affiche la liste des catégories dans les formulaires.

- affiche_arbo_categorie qui affiche la liste des catégories sur la page de liste de catégories dans l'administration.

 

Cette ligne : ORDER BY c.nom_' . $_SESSION['session_langue']'; affiche une page blanche.

Il y a un guillemet en trop à la fin de la ligne, ce qui doit créer une erreur de parsing et mettre fin au script. Avez-vous les messages d'erreurs activés sur le site l'hébergement ?

 

En laissant simplement ORDER BY ORDER BY c.nom l'affichage revient.

Cela corrige l'erreur de parsing mais comme c.nom n'existe pas dans la requête, elle doit échouer et ne retourne aucun résultat, ce qui explique "Seul problème désormais, c'est que la liste des catégories dans l'admin, ne s'affiche plus."

=> Pour faire le tri par ordre alphabétique dans la liste des catégories il faut bien mettre : ORDER BY c.nom_' . $_SESSION['session_langue']; à la fin de la requête dans la fonction affiche_arbo_categorie.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

En effet. Cela fonctionne sans la guillemet de la fin.

Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping