Ajouter Une Image Dans Le Menu

10 messages dans ce sujet

Posté(e) · Signaler ce message

bonjour,

 

je souhaite savoir comment procéder pour ajouer l'image des catégories dans la foncrion affiche_menu_catalogue

 

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

il faut modifier la fonction get_recursive_items_display et le fichier recursive_items_display.tpl en ajoutant une requête SQL qui récupère l'image de la catégorie. Vous pouvez mettre ce ajout dans le bloc

                    if ($mode == 'categories') {
                       // Votre code ici ...
                        $tplItem['href'] = get_product_category_url($this_item, $item_name_array[$this_item]);
                    } elseif

Ensuite, vous pouvez mettre le nom de l'image dans une nouvelle entrée du tableau $tplItem, $tplItem['image'] par exemple. Le nom de l'image alors exploitable dans le fichier tpl via la variable $it.image.

Attention néanmoins, ajouter une requête SQL dans une fonction récursive ne posera pas de problème si le nombre de catégorie est assez faible. Sinon, il faudra récupérer le nom de l'image à l'extérieur de cette fonction.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

bonjour,

à l'extérieur de la fonction ?

 

commentpuis-je faire puisque je souhaite un affichage dans recursive_items_display.tpl

 

car je souhaite récupérer l'image du produit que j'ai coché comme nouveauté.

 

J'ai testé ma requête mais je vois pas où la mettre ?

 

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

Pour la solution avec la requête SQL :

Le code est à ajouté dans le bloc :

 

                if (!empty($item_name_array[$this_item])) {
                    if ($mode == 'categories') {


                        // votre requête ici



                        $url = get_product_category_url($this_item, $item_name_array[$this_item]);
                    } else {
                        $url = get_content_category_url($this_item, $item_name_array[$this_item]);
                    }
                    $max_length = 31;
                    if ($GLOBALS['site_parameters']['display_nb_product'] == 1) {
                        if ($mode == 'categories') {
                            $nb = calcul_nbprod_parcat($this_item, $all_parents_with_ordered_direct_sons_array);
                        } else {
                            // $nb = calcul_nbarti_parrub($this_item);
                        }
                        if (!empty($nb)) {
                            $max_length -= strlen($nb) + 3;
                        }
                    }
                    if (!empty($arrow)) {
                        $max_length -= 3;
                    }
                    $this_item_output .= String::str_shorten($item_name_array[$this_item], $max_length);
                    if (!empty($nb)) {
                        $this_item_output .= ' (' . $nb . ')';
                    }
                    if(!empty($arrow)){
                        $this_item_output = '<span class="menu_categorie_link">'.$this_item_output.'</span><span style="float:right; display:block">' . $arrow .'</span>';
                    }
                    $this_item_output = '<a href="' . $url . '">' . $this_item_output . '</a>';
                }

 

 

Pour la solution 2 :

dans le fichier affiche_menu_catalogue, vous pouvez créer un nouveau tableau qui contient le nom de l'image associé à un id de catégorie, comme ce qui est fait pour $item_name_array[$result['id']] = $result['nom'];

Ensuite, il faut passer ce nouveau tableau dans un paramètre à créer dans la fonction get_recursive_items_display ($item_pictures_array par exemple)

 

Vous pouvez ensuite appeler l'image dans la fonction comme ceci : $item_pictures_array[$this_item].

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

ok,

 

l'id de la catégorie est dans $this_item.

Problèmes il s'agit de l'id de mes catégories parentes dans je n'ai aucun produit associé.

 

Est-il possible de récupérer l'id des cats filles pour les passer dans ma fonction et sortir ainsi l'image du produit différente.

 

Exemple

 

Cat parent

cat fille1

cat fille2

 

je cherche à afficher l'image d'un produit qui est coché on_special et qui correspond à cat fille1 ou cat fille2

 

ouf!

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

Si je comprends bien, Il faut modifier la requête pour récupérer l'image d'un produit on_special (et actif) pour les produits dont la catégorie parente est la catégorie courante.

Ce qui donne quelque chose comme

 

SELECT p.image1

            FROM peel_produits p
            INNER JOIN peel_produits_categories pc ON pc.produit_id=p.id
            INNER JOIN peel_categories c ON c.id=pc.categorie_id

WHERE p.on_special = "1" AND p.image1 != "" AND p.etat = "1" AND c.parent_id = "'.$this_item.'"

 

Je vous laisse le soin de tester et déboguer si nécessaire cette requête.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

pfff !

j'avais faux dans ma requête

 

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

est ce le meme mode opératoire pour peel 7.1 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

pour peels 7.1 j'ai fait la manipulation suivante 

 

dans display.php j'ai remplacé 

$GLOBALS['main_menu_items']["cat_" . $result['id']] = array(get_product_category_url($result['id'], $result['nom']) => $result['nom']);

 

par 

 

 
$GLOBALS['main_menu_items']["cat_". $result['id']]= array (get_product_category_url($result ['id'],$result ['nom']) =>  $result['image']);
 
le probleme est que je n'ai pas l image de la categorie qui s'affiche. j'ai juste un champ vide dans le menu. 

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

Le menu a été modifié pour la version 7.1, il faut que vous fassiez les adaptations pour cette version.

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