Bonjour,

Pour Virtuemart 3

objectif :
forcer l'affichage du nombre de sous-catégories dans le shop browse /view/category pour une catégorie particulière.
Je désire en mettre 8 par lignes sur une catégorie avec un affichage des sous-catégories par nom.
"évidement il y à ici de nombreuses sous-catégories et je désire optimiser l'affichage".

en place (pour moi) dans la configuration vm : 4 catégories par lignes.

je suis parti de l'idée :
Code:
$categories_per_row = 8;
voici ma combine :

créer une copie du fichier components/com_virtuemart/views/category/tmpl/categories.php
renommer cette copie ainsi components/com_virtuemart/views/category/tmpl/categories8.php

et modifier :
Code:
// Calculating Categories Per Row
//$categories_per_row = VmConfig::get ( 'categories_per_row', 3 );
en

Code:
// Calculating Categories Per Row
//$categories_per_row = VmConfig::get ( 'categories_per_row', 3 );
$categories_per_row = VmConfig::get ( 'categories_per_row', 3 );
puis la ligne :

Code:
echo ShopFunctionsF::renderVmSubLayout('categories',array('categories'=> $this->category->children));
en

Code:
echo ShopFunctionsF::renderVmSubLayout('categories8',array('categories'=> $this->category->children));
vous aurez remarqué "categories8" qui va nous permettre d'appeler un nouveau sublayout

le rendez-vous est maintenant dans : components/com_virtuemart/sublayouts/

faites une copie du fichier : components/com_virtuemart/sublayouts/categories.php
renommez-le : components/com_virtuemart/sublayouts/categories8.php

modifiez-le, et remplacer :

Code:
$categories_per_row = VmConfig::get ( 'categories_per_row', 3 );
par

Code:
$categories_per_row = 8;
Maintenant, rendez-vous dans l'admin de virtuemart, ouvrez la catégorie à surcharger.
dans le champ : "Mise en page de la catégorie", sélectionnez "categorie8" dans le menu déroulant.

Pour le css, chez-moi j'ai ajouté ça (à adapter selon votre template) :

Code:
/* browse force affichage des categories par 8 */

	.category-view .width12 a {
	    font-weight: normal !important; /* <<-- je desactive le gras */
	    min-width: 130px !important; /* <<-- force la taille des images pour tablettes ...ansi elles se chevauches dans certaines resolutions, je trouve ça mieux que des images decallees */
	    font-size: 12px !important; /* <<-- taille du texte */
	}
	.category-view .width12 :hover {
	    font-size: 16px !important; /* <<-- agrandissement du texte au survol */
	    color: #FFF; /* <<-- couleur du texte au survol */
	}
et hop allez voir le résultat

si ça ne fonctionne pas, pensez à vider le cache du site...
...voilà, j'ai un demi siècle ce jour !!