06
Jui
2012

Ajouter le nom de la catégorie dans la browse page

Certaines variables ne peuvent être affichées dans la liste des produits par catégories (browse page) de Virtuemart. Pour exemple nous prendrons le nom de la catégorie du produit (category_name) que l'on désirerait afficher.

Versions

Joomla: 1.5.x
Virtuemart
: 1.1.9

Explications

  • La variable n'étant pas déclarée dans la requète effectuée sur la base de données, il faut la créer dans shop_browse_queries.php ;
  • Le fichier shop.browse.php concatène et redispatch l'ensemble des variables affectées aux fichiers de la browse page (browse_header_category.tpl.php/navigation_childlist.php/browse_x.php) ;
  • Enfin il est nécessaire d'appeler la variable dans la browse page (browse_1 à browse_5.php) afin d'affichage.

Fichiers à éditer

Fichier: shop.browse.php
Chemin: /administrator/components/com_virtuemart/html/
Lignes: après 465

Fichier: shop_browse_queries.php
Chemin: /administrator/components/com_virtuemart/html/
Lignes: 37

Fichier: browse_x.php (x = fonction du choix de votre browse page)
Chemin: /components/com_virtuemart/themes/default/templates/browse
Lignes: où vous désirez

Code à modifier dans shop_browse_queries.php

Code d'origine :

$fieldnames = "`#__{vm}_product`.`product_id`, `product_name`, `products_per_row`, `category_browsepage`, `category_flypage`, `#__{vm}_category`.`category_id`, `product_full_image`, `product_thumb_image`, `product_s_desc`, `product_parent_id`, `product_publish`, `product_in_stock`, `product_sku`, `product_url`, `product_weight`, `product_weight_uom`, `product_length`, `product_width`, `product_height`, `product_lwh_uom`, `product_available_date`, `product_availability`, `#__{vm}_product`.`mdate`, `#__{vm}_product`.`cdate`";

Ajouter la variable dans la partie qui la concerne produit/catégorie/date (#__{vm}_product`.`product_id` ou #__{vm}_category`.`category_id` ou #__{vm}_product`.`mdate`) en l’occurrence ici la catégorie :

 `category_name`,

Code à modifier dans shop.browse.php

Après la ligne :

		$products[$i]['product_url'] = $db_browse->f("product_url");

Ajouter :

$products[$i]['category_name'] = $db_browse->f("category_name");

Code à modifier dans browse_x.php

Code à ajouter dans une balise html et un appel php :

Auteur: Michael AlliotCatégorie: Actualités + CMS