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 6 mois #11 par doc_denis
Merci Patrick

La solution ne fonctionne pas :( ...cela dit rien de grave si c'est prévu dans la prochaine MAJ.
$document->addHeadLink(jRoute::_($product->canonical), 'canonical', 'rel', '');
l'url reste relative, j'ai regardé dans les catégories ça ne marche pas de la même manière :
	public function setCanonicalLink($tpl,$document,$categoryId,$manId){
		// Set Canonic link
		if (!empty($tpl)) {
			$format = $tpl;
		} else {
			$format = vRequest::getCmd('format', 'html');
		}
		if ($format == 'html') {

			// remove joomla canonical before adding it
			foreach ( $document->_links as $k => $array ) {
				if ( $array['relation'] == 'canonical' ) {
					unset($document->_links[$k]);
					break;
				}
			}

			$link = 'index.php?option=com_virtuemart&view=category';
			if($categoryId!==-1){
				$link .= '&virtuemart_category_id='.$categoryId;
			}
			if($manId!==-1 and !empty($manId)){
				$link .= '&virtuemart_manufacturer_id='.$manId;
			}

			$document->addHeadLink( JRoute::_($link, FALSE) , 'canonical', 'rel', '' );

		}
	}

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 6 mois - il y a 6 ans 6 mois #12 par doc_denis
heu bah non, les catégories sont en chemin relatif, testé sur 3 sites en VM 3.0.12
c'est valable également sur la démo officielle de VM
<link href="/product-variants" rel="canonical" />

idem sur les produits :
<link href="/product-variants/pattern-product-variants-detail" rel="canonical" />

même chose sur la démo alatak en VM3 :D
Dernière édition: il y a 6 ans 6 mois par doc_denis. Raison: ajout demo alatak

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 6 mois #13 par studio42
JRoute::_($product->canonical, FALSE)
ou un truc dans le genre

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!
Les utilisateur(s) suivant ont remercié: doc_denis

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

Plus d'informations
il y a 6 ans 6 mois - il y a 6 ans 6 mois #14 par alatak
Bonjour,
Voila, je viens de le faire, et c'est ok pour la prochaine version de VM
Il faut ajouter JUri::getInstance()->toString(array('scheme', 'host', 'port')) devant le jroute pour avoir une URL absolue:
$document->addHeadLink( JUri::getInstance()->toString(array('scheme', 'host', 'port')).JRoute::_($this->product->link) , 'canonical', 'rel', '' );
Dernière édition: il y a 6 ans 6 mois par alatak.
Les utilisateur(s) suivant ont remercié: 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 6 mois #15 par doc_denis
Bonjour,

YES, Alatak ! ...merci
ça marche pour les produits avec ça dans : components/com_virtuemart/views/productdetails/view.html.php
// Set Canonic link
if($isCustomVariant !==false and !empty($isCustomVariant->usecanonical) and !empty($product->product_parent_id)){
$parent = $product_model ->getProduct($product->product_parent_id);
$document->addHeadLink( JUri::getInstance()->toString(array('scheme', 'host', 'port')).jRoute::_($parent->canonical), 'canonical', 'rel', '');
				} else {
$document->addHeadLink( JUri::getInstance()->toString(array('scheme', 'host', 'port')).jRoute::_($product->canonical), 'canonical', 'rel', '');
				}

et ça pour les catégories dans : components/com_virtuemart/views/category/view.html.php
ligne 348
$document->addHeadLink( JUri::getInstance()->toString(array('scheme', 'host', 'port')).JRoute::_($link, FALSE) , 'canonical', 'rel', '' );

cool, avec ça logiquement les moteurs devrait-être content ...nous aussi ;)

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 6 mois #16 par doc_denis
Cependant, le sujet de départ à glissé car la question du départ est comment fixer la catégorie par défaut.

Dans l'état actuel, qu'est ce qui décide la catégorie du canonical ?

Ce que je ne trouve pas normal ou évident, c'est de ne pas pouvoir décider soit-même avec le choix d'une catégorie par défaut.

(oui, excusez-moi, c'est un avis personnel, qui peut-être contraire à la règle du forum, voir : " Règles de rédaction ")
mais pour faire avancer le schmilblick, il faut pourvoir proposer avec une argumentation.

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

Plus d'informations
il y a 6 ans 6 mois #17 par alatak
Bonjour

C'est VM qui prend la première catégorie et decide que c'est la conical.

Ca a quand meme une certaine logique: tu mets en premier les categories importantes.

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 6 mois - il y a 6 ans 6 mois #18 par doc_denis
Bonjour Valérie,

oui. j'ai bien entendu, mais voici mon exemple avec une structure de ce type :

bouteilles 1L
--- rondes
--- triangles pas pratique lol
bouteilles 2L
bouteilles 3L
accessoires bouteilles
--- bouchons
--- tires bouchons

si je mets un bouchon de liège dans bouchons et dans bouteilles 1L, et bien ...c'est bouteilles 1L qui gagne :(
"je n'ai aucun moyen de forcer la catégorie par défaut"

alors que "moi" je désire qu'il soit en 1er dans "bouchons" car c'est un bouchon :)

voici ma vision d'une catégorie par défaut, et on peux imaginer que si l'utilisateur ne choisis pas de catégorie par défaut dans ce cas, VM choisis selon ses propres critères.
Dernière édition: il y a 6 ans 6 mois par doc_denis. Raison: un mot en trop

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 6 mois - il y a 6 ans 6 mois #19 par doc_denis
Merci Valérie pour ton implication et les conseils.
Dernière édition: il y a 6 ans 6 mois par doc_denis. Raison: j'ai enlever le lien ...pour ceux qui avaient lu avant :)

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 6 mois #20 par studio42
Salut doc denis,
Est-ce que tu as essayé d'enregistrer les catégories en 2 fois?
D'abord sauvegarder le produit avec 1 seul(la catégorie par défaut) puis ajouter le reste des catégories et sauvegarder ?

Cordialement,
Patrick

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.