En visitant ce site, vous acceptez l'utilisation de cookies afin de vous proposer les meilleurs services possibles.

[Résolu] Définir une catégorie par défaut pour les articles virtuemart

  • doc_denis
  • Portrait de doc_denis
  • Hors Ligne
  • Membre senior
  • Membre senior
  • ...oui, la photo date :)
Plus d'informations
il y a 6 ans 11 mois - il y a 6 ans 11 mois #31 par doc_denis
j'ai fais un plugin qui c'est installé :) ...en soit, déjà c'est une première.
mais ça ne surcharge rien...

quand je met le code dans mon fichier /plugin/subcat_product/subcat_product.php
...page blanche
si je renseigne :
JLoader::registerPrefix('Subcat_product', JPATH_LIBRARIES . '/');
et que j'envoi mon fichier product.php dans /libraries/subcat_product
ça ne fait rien non plus :(

...vraiment je suis webmaster mais pas codeur ...ça confirme :evil:
chacun son métier ;)

je n'ai rien pigé, car dès que j'ajoute un truc au fichier "Plugin file" mon subcat_product.php j'ai une erreur.
même avec un
echo "casimir le monstre gentil";
et il me semble que pour que le plugin fonctionne il faut lui dire quelle page remplacer ...non ?
....je veux bien apprendre mais c'est comme chercher dans un texte en mandarin ;)
oh la la... mon fichier : administrator/components/com_virtuemart/models/product.php.save ...c'est plus facile :whistle:
Dernière édition: il y a 6 ans 11 mois par doc_denis.

Connexion ou Créer un compte pour participer à la conversation.

  • studio42
  • Portrait de studio42
  • Hors Ligne
  • Modérateur
  • Modérateur
  • Dev Joomla & Virtuemart
Plus d'informations
il y a 6 ans 11 mois #32 par studio42
Si tu en as besoin, je peux le faire en une heure. sinon tu peux aussi modifier l'original à chaque update de virtuemart.
A toi de voir

www.st42.fr Truc et astuce Joomla et virtuemart
shop.st42.fr téléchargement Joomla et extension pour virtuemart
Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!

Connexion ou Créer un compte pour participer à la conversation.

  • doc_denis
  • Portrait de doc_denis
  • Hors Ligne
  • Membre senior
  • Membre senior
  • ...oui, la photo date :)
Plus d'informations
il y a 6 ans 4 mois - il y a 6 ans 4 mois #33 par doc_denis
Pour information avec Virtuemart version 3.0.18.8

la version du fichier : administrator/components/com_virtuemart/models/product.php
contient déjà le nécessaire pour publier le contenu des sous catégories dans la catégorie parente sans publier l'article dans cette catégorie parente.
pour rappel et pour imager ce que je fait c'est comme ça :

catégorie 1
---- catégorie a (sous catégorie de catégorie1)
======= produit a1
======= produit a2
---- catégorie b (sous catégorie de catégorie1)
======= produit b1
======= produit b2

avec la modif ci-dessous les produits : a1 comme a2 b1 et b2 sont visibles dans catégorie 1 sans être publié dans celle-ci mais dans une sous catégorie de celle-ci comme catégorie b.

donc j'y viens, voici comment opérer (à chaque mise à jour il faut refaire) :

éditer le fichier : administrator/components/com_virtuemart/models/product.php

ligne 389 remplacer :
		if ($virtuemart_category_id > 0) {
			$joinCategory = TRUE;
			if(true){
				$where[] = ' `pc`.`virtuemart_category_id` = ' . $virtuemart_category_id;
			} else {
				/*GJC add subcat products*/

par ceci :
		if ($virtuemart_category_id > 0) {
			$joinCategory = TRUE;
		//	if(true){
		//		$where[] = ' `pc`.`virtuemart_category_id` = ' . $virtuemart_category_id;
			} else {
				/*GJC add subcat products*/

et voilà, il aurait été plus simple de trouver comment changer de true à false via l'admin, mais je ne crois pas que ce soit encore en place avec la 3.0.18.8
en tout cas je n'est pas trouvé de case à cocher qui permette de publier les articles des sous catégories dans l'admin.
Dernière édition: il y a 6 ans 4 mois par doc_denis.

Connexion ou Créer un compte pour participer à la conversation.

  • doc_denis
  • Portrait de doc_denis
  • Hors Ligne
  • Membre senior
  • Membre senior
  • ...oui, la photo date :)
Plus d'informations
il y a 6 ans 2 mois - il y a 6 ans 2 mois #34 par doc_denis
Une petite remontée d'info avec les nouvelles versions de VM, ici sur une 3.0.18.9.

Maintenant, dans : administrator/components/com_virtuemart/models/product.php
il suffit de changer la valeur "TRUE" à "FALSE" comme ci dessous :
		if ($virtuemart_category_id > 0) {
			$joinCategory = TRUE;
			if(false){
				$where[] = ' `pc`.`virtuemart_category_id` = ' . $virtuemart_category_id;
			} else {
				/*GJC add subcat products*/

et avec cette simple modification, les produits des sous-catégories s'affichent dans la catégorie parente.
(sans devoir les publier les produits dans la catégorie parente, mais seulement dans la sous catégorie désirée).

J'attends qu'un bouton pour cet usage fasse son apparition dans l'admin de VM ;-)

EDIT du 16 mars 2017 :

dans la version 3.0.19.9 il faut utiliser l'ancienne méthode :(
et remplacer le code par
// modif produits sous catégories -------------------------------

if ($virtuemart_category_id > 0) {
			/*GJC add subcat products*/
			
			//$joinCategory = TRUE;
			//$where[] = ' `pc`.`virtuemart_category_id` = ' . $virtuemart_category_id;
			$catmodel = VmModel::getModel ('category');
				$childcats = $catmodel->getChildCategoryList(1, $virtuemart_category_id,null, null, true);
				$cats = $virtuemart_category_id;
				foreach($childcats as $childcat){
					$cats .= ','.$childcat->virtuemart_category_id;
				}
				$joinCategory = TRUE;
				$where[] = ' `pc`.`virtuemart_category_id` IN ('.$cats.') ';
			/*GJC add subcat products*/	
				
		} else if ($isSite) {
			if (!VmConfig::get('show_uncat_parent_products',TRUE)) {
				$joinCategory = TRUE;
				$where[] = ' ((p.`product_parent_id` = "0" AND `pc`.`virtuemart_category_id` > "0") OR p.`product_parent_id` > "0") ';
			}
			if (!VmConfig::get('show_uncat_child_products',TRUE)) {
				$joinCategory = TRUE;
				$where[] = ' ((p.`product_parent_id` > "0" AND `pc`.`virtuemart_category_id` > "0") OR p.`product_parent_id` = "0") ';
			}
		}			
				
// fin modif produits sous catégories  -------------------------------
Dernière édition: il y a 6 ans 2 mois par doc_denis. Raison: ajout de la modif pour 3.0.19.9

Connexion ou Créer un compte pour participer à la conversation.

  • doc_denis
  • Portrait de doc_denis
  • Hors Ligne
  • Membre senior
  • Membre senior
  • ...oui, la photo date :)
Plus d'informations
il y a 6 ans 2 mois #35 par doc_denis
Bonjour,

une info à ce sujet à propos de la version 3.2.0

Dans configuration > boutique frontale
il y à un bouton "Show products of subcategories "

Super chouette ! plus de fichier à modifier pour obtenir le résultat attendu dans les vues catégories.

pour la catégorie par défaut, je ne sait pas encore, mais avec cette solution, c'est moins important de pouvoir forcer la catégorie canonicale.

merci à ceux qui ont œuvré à cette modification.

Connexion ou Créer un compte pour participer à la conversation.