Gilles Boussin

Administrateur PEEL
  • Compteur de contenus

    16 264
  • Inscrit(e) le

  • Dernière visite


Messages posté(e)s par Gilles Boussin


  1. Oups...

    Merci pour le correctif, xeon, je suis allé un peu vite dans l'écriture de ma requête ;)

    L'affichage de la liste des catégories pour l'ajout / modification de produits se trouve dans : administrer/produits.php, fonction affiche_liste_produits() :

    select_arbo_cat($categorie_options, $categorie_id);

    Il faut donc modifier la fonction select_arbo_cat(), définie dans lib/fonctions/fonctions.php.

    Cette fonction affiche la liste des catégories, ordonnée de la manière suivante :

    Catégories de le parent est 0 (CAD celles de plus haut niveau, qui ne sont pas des sous-catégories), ordonnées par ordre alphabétique.

    Pour chacune de ces catégories, on va chercher les catégories filles, et ainsi de suite (car select_arbo_cat est une fonction récursive)

    Pour forcer l'ordre purement alphabétique, il faut recoder select_arbo_cat pour obtenir le résultat voulu.

    Mais select_arbo_cat est appelée à plein d'endroits du code, donc il faudrait plutêt développer une fonction spécifiquement pour ce fichier de l'admin :

    Une simple fonction (non récursive) qui fasse un SELECT FROM peel_categories ORDER BY nom_$_SESSION['lang'] et affiche le résultat pour générer le SELECT


  2. Bonjour jacouille24,

    Je suppose que vous parlez des marques associées aux produits.

    Celles ci ne sont pas considérées dans le fichier factures/comande_pdf.php.

    Il faut alors aller chercher pour chaque produit, la marque associée, et remplacer L 28 :

    $qid_items = mysql_query("SELECT oi.* FROM peel_commandes_articles oi WHERE commande_id = '".intval($id)."'")

    par

    $qid_items = mysql_query("

    SELECT oi.*, pm.nom_fr AS nom_marque FROM peel_commandes_articles oi

    LEFT JOIN peel_produits pp ON pp.id = oi.produit_id

    LEFT JOIN peel_marques pm on pm.id = pp.id_marque

    WHERE commande_id = '".intval($id)."'")

    Ensuite, Ligne 113, avec while ($prod = mysql_fetch_array($qid_items)) { ...

    $prod['nom_marque'] contient la marque du produit, libre à vous ensuite de l'afficher avec le porduit correspondant.


  3. Bonsoir Cecobe,

    Dans modeles/standard/haut.php (et modeles/blog/haut.php) :

    Le code qui personnalise les pages de catégories est :

    if (isset($_GET['catid'])) {

    $queryCP = mysql_query("SELECT header_html, background_menu, background_color FROM peel_categories WHERE id = '".intval($_GET['catid'])."'");

    if (mysql_num_rows($queryCP) > 0) {

    $CP = mysql_fetch_object($queryCP);

    $header_html = html_entity_decode(trim($CP->header_html));

    $background_menu = html_entity_decode($CP->background_menu);

    $background_color= html_entity_decode($CP->background_color);

    echo "<style>";

    echo "body { background-color:$background_color; }\r\n";

    echo "#menu2 { background-color:$background_menu; }";

    echo "#menu3 { background-color:$background_menu; }";

    echo "</style>";

    }

    }

    Dans achat/produit_details.php,

    après :

    $prod = charge_produit(intval($_GET['id']));

    il faudrait faire :

    $cat_id_from_prod_id = $prod['categorie_id']

    Puis dans modeles/standard/haut.php (et modeles/blog/haut.php) :

    Remplacer le code cité plus haut par :

    if (isset($cat_id_from_prod_id)) {

    $cat_id_for_header = $cat_id_from_prod_id;

    }elseif(isset($_GET['catid'])){

    $cat_id_for_header = $_GET['catid'];

    }

    if (isset($cat_id_for_header)) {

    $queryCP = mysql_query("SELECT header_html, background_menu, background_color FROM peel_categories WHERE id = '".intval($cat_id_for_header)."'");

    if (mysql_num_rows($queryCP) > 0) {

    $CP = mysql_fetch_object($queryCP);

    $header_html = html_entity_decode(trim($CP->header_html));

    $background_menu = html_entity_decode($CP->background_menu);

    $background_color= html_entity_decode($CP->background_color);

    echo "<style>";

    echo "body { background-color:$background_color; }\r\n";

    echo "#menu2 { background-color:$background_menu; }";

    echo "#menu3 { background-color:$background_menu; }";

    echo "</style>";

    }

    }


  4. >Bonsoir Xéon,

    dans administrer/categories.php, fonction affiche_arbo_cat,

    remplacer :

    $sql = "SELECT c.id, c.reference, c.nom_".$_SESSION['langue'].", c.etat, c.position, c.nb, c.image

    FROM peel_categories c

    WHERE c.parent_id = '$parent' ORDER BY c.position";

    par

    $sql = "SELECT c.id, c.reference, c.nom_".$_SESSION['langue'].", c.etat, c.position, c.nb, c.image

    FROM peel_categories c

    WHERE c.parent_id = '$parent' ORDER BY ".$_SESSION['langue']." ASC";


  5. Bonsoir Jacouille24,

    Le problème peut venir du fait que sur votre hébergement, le register_long_arrays soit à off (la variable HTTP_POST_VARS n'est plus prise en charge)

    Dans administrer/cgv.php, et administrer/legal.php, il vous suffit alors de remplacer toute occurrence de $HTTP_POST_VARS par $_POST.

    Si ceci ne fonctionne pas, dans administrer/cgv.php, fonction maj_cgv(), avant $qid = mysql_query($sql);, faites :

    var_dump($sql);

    die();

    Vous aurez alors la requête que le fichier tente d'exécuter.

    Si vous l'exécutez à votre tout sous PHPMyadmin, vous pourrez alors comprendre ce qui ne va pas.

Twitter Advisto ecommerce

Facebook PEEL Shopping