Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

afficher la liste des produits dans le menu de gauche
 
barnabé75
Jr. Member
 
Total Posts:  16
Joined:  2008-05-30
 

Hello,

pour une petite boutique avec peu de produits je cherche à placer la liste des produits dans le menu de gauche.
Une simple liste avec juste le nom et le lien.

En fait quand je dis je cherche, je veux dire que je me triture les méninges depuis un bon bout de temps LOL
J’ai pourtant réussi pas mal de trucs avec la doc, mais là je sèche.
J’ai essayé via layout et templates mais sans résultats.

Si vous avez un petit début de piste, quelle que soit la méthode, je prends !

Un grand merci par avance !

 
Magento Community Magento Community
Magento Community
Magento Community
 
SeL_
Magento Team
 
Avatar
Total Posts:  1140
Joined:  2007-10-10
Paris, France
 

Bonjour,

Début de piste.
Utiliser un bloc de type liste de produits (voir Mage_Catalog_Block_Category_View ou Mage_Catalog_Block_Product_List ou autre).
Puis, dans le layout, définir un bloc dans la colonne de gauche. Celui-ci doit utiliser le bloc choisi, et un template phtml de ton choix (pour gérer ton affichage comme bon te semble): (exemple non testé, à mettre dans la balise <default> ou autre et à compléter)

<reference name="left">
            <
block type="catalog/product_list" name="nom_de_ton_bloc" as="autre_nom_de_ton_bloc" template="qqechose/nom_fichier.phtml" />
        </
reference>
 
Magento Community Magento Community
Magento Community
Magento Community
 
barnabé75
Jr. Member
 
Total Posts:  16
Joined:  2008-05-30
 

hello,

ok j’ai pigé…

merci smile

 
Magento Community Magento Community
Magento Community
Magento Community
 
guillaume7684
Sr. Member
 
Total Posts:  241
Joined:  2008-10-20
 

Bonjour,

J’essaie moi aussi de mettre la liste des catégories dans la colonne de gauche.

J’ai trouvé un post sur le forum magento.com, j’ai tout suivi à la lettre mais ça ne fonctionne pas.

Ci-dessous une partie du post http://www.magentocommerce.com/boards/viewthread/4722:

Creating a vertical left-side category menu really is pretty easy. All that you have to do is create a new (really just copied) template and adjust the css. For the navigation, magento outputs an unordered-list, making it pretty easy to put in a vertical format using a couple of lines of css. There are three things that need to be done in order to output a vertical category structure:
1. Create vertical category template
2. Create CSS
3. Reference in xml files.

1. Create Vertical Category Template
Open template/catalog/navigation/top.phtml. Which should look like
<div class="header-nav-container">
<div class="header-nav">
<h4 class="no-display"><?php echo $this->__('Category Navigation:') ?></h4>
<ul id="nav">
<?php foreach ($this->getStoreCategories() as $_category): ?>
<?php echo $this->drawItem($_category) ?>
<?php endforeach ?>
</ul>
</div>
<?php echo $this->getChildHtml('topLeftLinks') ?>
</div>
Change:
header-nav-container to vertical-nav-container
header-nav to vertical nav
nav to nav_vert

Which would make look like:
<div class="vertical-nav-container">
<div class="vertical-nav">
<h4 class="no-display"><?php echo $this->__('Category Navigation:') ?></h4>
<ul id="nav_vert">
<?php foreach ($this->getStoreCategories() as $_category): ?>
<?php echo $this->drawItem($_category) ?>
<?php endforeach ?>
</ul>
</div>
<?php echo $this->getChildHtml('topLeftLinks') ?>
</div>

Save this file as template/catalog/navigation/vert_nav.phtml.
2. Create CSS for vertical menu
Now that you have the template for the vertical navigation, you need to adjust the css to make it vertical. Copy the css below into you menu.css file:

/**********************************************Vertical Nav ****************************************/
#nav_vert { padding:0 20px; font-size:1em; z-index:999; width:190px; }

/************** ALL LEVELS *************/ /* Style consistent throughout all nav levels */
#nav_vert li {
width:175px;
list-style:none;
position:relative;
text-align:left;
}
#nav_vert li.over { z-index:999; }
#nav_vert li.active { z-index:999; } /* to prevent the li separator from showing through on mouseover on li */
#nav_vert a { line-height:1.3em; }
#nav_vert a, #nav_vert a:hover { display:block; text-decoration:none; }
#nav_vert span { display:block; cursor:pointer; }

/************ 1ST LEVEL ***************/
#nav_vert li { float:left; background:url(../images/nav_bg.gif) repeat-x 50%; height:30px; margin-right:1px; }
#nav_vert li.active a { color:#4c6a16; }
#nav_vert a {

float:left;
padding:5px 12px 6px 8px;
color:#4c6a16;
font-weight:bold;
font-family:Trebuchet MS;
font-size:13px;}
#nav_vert li.over a, #nav_vert a:hover { color:#CCCCCC; }

/************ 1ST LEVEL RESET ************/
#nav_vert ul li, #nav_vert ul li.active {

float:none;
height:auto;
background:none;
margin:0;
}
#nav_vert ul a, #nav_vert ul a:hover {
float:none;
padding:0;
background:none;
}
#nav_vert ul li a { font-weight:normal !important; }

/************ 2ND LEVEL ***********/
#nav_vert ul {
position: absolute;
width:15em;
margin-left:125px;
top:5px;
left:-10000px;
border:1px solid #666666;
}

/* Show menu */
#nav_vert li.over ul { left:0; }
#nav_vert li.over ul ul { left:-10000px; }
#nav_vert li.over ul li.over ul { left:100px; }

#nav_vert ul li a { background:#FFFFFF/*#ecf3f6*/; }
#nav_vert ul li a:hover { background: #F2F1D2; /*#d5e4eb;*/ }
#nav_vert ul li a span { background:url(../images/nav_divider.gif) repeat-x 0 100%; }
#nav_vert ul li a, #nav_vert ul li a:hover { color:#2f2f2f !important; }
#nav_vert ul span, #nav_vert ul li.last li span { padding:3px 15px 4px 15px;}
#nav_vert ul li.last span { background:none; }

/************ 3RD+ LEVEL ************/

#nav_vert ul ul { top:5px;}
#nav_vert ul ul ul { left:-10000px;}
#nav_vert li.over ul li.over ul ul { left:-10000px;}
#nav_vert li.over ul li.over ul li.over ul { left:100px; }

/* Fix for the IE bug */

#nav_vert iframe {
position: absolute;
left: -1px;
top: 0;
z-index: -1;
filter: progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0);
}

Note: The css is essentially the same for the horizontal nav, except for two spots. nav_vert and nav_vert li. Notice, we put a width on these two items, which will restrict the category menu to the width of the column, thus creating a vertical, rather than horizontal menu, which doesn’t have a defined width for the line items. You’ll also notice that we created a new container and box for the vertical menu called vertical-nav-container and vertical-nav. these allow for additional markup and styling that can be added to the main boxes.css file. Here, I will leave them blank. Also, please note that the above css was copied and altered from one of our test sites, so it may reference background-images that you do not have. Like I said the important think is putting the width restriction on the main vert_nav div and the vert_nav li. The rest can be customised for your site.

3. Reference your new menu
Ok, now you have a new vertical category menu that is not showing up anywhere. Great. You need to reference the new template in the catalog.xml for your template. In the <default></default> block of you catalog.xml file add:
<reference name="left">
<block type="catalog/navigation" name="catalog.vertnav" template="catalog/navigation/vert_nav.phtml" />
</reference>
The default block should be at the top of your catalog.xml file.

There is one thing that I should point out, this will appear after the layered navigation o

 
Magento Community Magento Community
Magento Community
Magento Community
 
celineuh11
Jr. Member
 
Total Posts:  5
Joined:  2008-12-31
 

Salut,

Je voulais également afficher les catégories sur mes pages, dans la colonne de gauche et j’ai réussi grâce au post :

http://www.magentocommerce.com/boards/viewthread/4722/P0/

J’explique en détail la procédure à suivre un peu plus bas… Cependant j’aimerai afficher les catégories dans un menu et le placer tout en haut de ma colonne de gauche. Mais là ça s’affiche en-dessous d’une publicité mise par défaut par Magento ainsi que l’inscription à la newsletter. Est-ce que quelqu’un pourrait m’aider en me disant comment placer le bloc des catégories avant ? Ainsi que ne plus afficher la publicité ?

Merci !

En fait c’est assez simple, voici ce qu’il faut faire pour afficher les catégories sur la Home.

Créer un nouveau fichier appelé vert_nav.phtml que tu placeras dans le dossier template (template/catalog/navigation/vert_nav.phtml) :

<div class="vertical-nav-container">
<div class="vertical-nav">
<h4 class="no-display"><?php echo $this->__('Category Navigation:') ?></h4>
<ul id="nav_vert">
<?php foreach ($this->getStoreCategories() as $_category): ?>
<?php echo $this->drawItem($_category) ?>
<?php endforeach ?>
</ul>
</div>
<?php echo $this->getChildHtml('topLeftLinks') ?>
</div>

Ensuite tu dois modifier la page d’accueil pour qu’elle affiche bien ton vert_nav.phtml, pour celà va dans CMS > Gestion des pages puis clique sur “Home Page”. Ensuite il suffit d’aller sur “Design personnalisé” dans le menu gauche et de copier ceci dans le textarea appelé XML de mise à jour d’agencement :

<reference name="left">
<block type="catalog/navigation" name="catalog.vertnav" template="catalog/navigation/vert_nav.phtml" />
</reference>

 
Magento Community Magento Community
Magento Community
Magento Community
 
celineuh11
Jr. Member
 
Total Posts:  5
Joined:  2008-12-31
 

Bonjour,

Avec cette méthode j’ai bien mes catégories affichées, mais aussi les sous catégories. Or il me faudrait uniquement les catégories principales, quelqu’un sait-il comment procéder ?

Merci

 
Magento Community Magento Community
Magento Community
Magento Community
 
Thos
Jr. Member
 
Total Posts:  26
Joined:  2009-09-09
 

Bonjour

J’ai essayé cette méthode mais ça ne m’affiche rien

En regardant la source, je vois qu’il m’affiche bien la base <ul>, mais aucune <li>
L’erreur vient donc sans doute de la boucle, dans mon fichier phtml

<ul id="nav_vert">
        
<?php foreach ($this->getStoreCategories() as $_category): ?>
            <?php 
echo $this->drawItem($_category?>
        <?php 
endforeach ?>
        
</ul>
 
Magento Community Magento Community
Magento Community
Magento Community
 
Gabriiiel
Guru
 
Avatar
Total Posts:  563
Joined:  2008-04-29
France - Paris
 

Il faut remplacer $this par Mage::getBlockSingleton(’catalog/navigation’)

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top