Indiquer le suvi des pages ? Goggle

4 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

j'ai remarqué que dans la partie Head du code, la gestion des pages suivantes et précédentes n'est pas prise en compte dans les balises <link rel="prev" et <link rel="next" et devrait être présente sur la page achat (catégories).

Êtes-vous en mesure de nous faire parvenir le code qui permet la gestion des pages?

merci

1 personne aime ça

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

La fonction show_preview_next du fichier modules\precedent_suivant\fonctions.php doit être modifié pour quelle retourne uniquement le lien, sans HTML. :


/**
* show_preview_next()
* @param integer $product_id
* @param integer $product_position
* @param mixed $prev_next
* @return
*/
function show_preview_next($product_id, $product_position, $prev_next, $no_html = false)
{
$output = '';
$cond='';
if (!empty($_GET['catid'])) {
$current_catid = intval($_GET['catid']);
} else {
//On recupere la categorie du produit
$query_current_catid = query("SELECT categorie_id
FROM peel_produits_categories
WHERE produit_id = '" . intval(vn($product_id)) . "'");
if($result_current_catid = fetch_assoc($query_current_catid)) {
$current_catid = $result_current_catid['categorie_id'];
}
}
if($GLOBALS['site_parameters']['in_category']==0) {
// liste des cat&#233;gories de la cat&#233;gories du produit en cours vers la cat&#233;gorie m&#232;re
$ascending_category_array = get_category_tree_and_itself($current_catid, 'parents');
// Suppression de la categorie racine afin d'&#233;viter d'avoir l'ensemble des produits remont&#233;s.
foreach($ascending_category_array as $key => $category) {
if($category == 0) {
unset($ascending_category_array[$key]);
}
}
// Recherche des cat&#233;gories fille de chaque cat&#233;gorie trouv&#233;e pr&#233;c&#233;demment + suppression des doublons + supression de la categorie 0
$descending_category_array = array_unique(get_category_tree_and_itself($ascending_category_array, 'sons'));
$cond = 'ppc.categorie_id IN(' . implode(',', $descending_category_array) . ')';
} else {
$cond = 'ppc.categorie_id="'. intval($current_catid) . '"';
}
if($prev_next=='prev') {
// ATTENTION : dans params_affiche_produits on affiche par d&#233;faut avec pp.position ASC, pp.id DESC
// Donc les tris sur id et position sont invers&#233;s
// Par ailleurs, il faut faire attention &#224; la compatibilit&#233; si plusieurs produits ont la m&#234;me position
$sql ="SELECT ppc.produit_id AS id, ppc.categorie_id as idC, pp.nom_". $_SESSION['session_langue'] . " AS nom, pp.position
FROM peel_produits pp
LEFT JOIN peel_produits_categories ppc ON ppc.produit_id = pp.id
LEFT JOIN peel_categories pc ON ppc.categorie_id = pc.id
WHERE (pp.position<" . intval(vn($product_position)) . " OR (pp.position=" . intval(vn($product_position)) . " AND pp.id>" . intval($product_id) . "))
AND pc.etat = 1
AND pp.etat = 1
AND pp.on_gift = 0
AND ".$cond."
ORDER BY pp.position DESC, pp.id ASC
LIMIT 1";
$q_get_previous = query($sql);
if($r_get_previous = fetch_assoc($q_get_previous)) {
$previous = $r_get_previous['id'];
$prev_catid = $r_get_previous['idC'];
$prev_name= $r_get_previous['nom'];
}
if(!empty($previous)){
if($no_html) {
$output.= get_product_url($previous, $prev_name, $prev_catid, get_name_category($prev_catid));
} else {
$output.= '<td class="td_mod_next_prev">
<a class="product_prev" href="' . get_product_url($previous, $prev_name, $prev_catid, get_name_category($prev_catid)) . '" title="'. PREV .'">'. PREV .'</a></td>';
}
}
} elseif($prev_next=='next') {
// ATTENTION : dans params_affiche_produits on affiche par d&#233;faut avec pp.position ASC, pp.id DESC
// Donc les tris sur id et position sont invers&#233;s
// Par ailleurs, il faut faire attention &#224; la compatibilit&#233; si plusieurs produits ont la m&#234;me position
$q_get_next = query("SELECT ppc.produit_id AS id, ppc.categorie_id as idC, pp.nom_". $_SESSION['session_langue'] . " AS nom, pp.position
FROM peel_produits pp
LEFT JOIN peel_produits_categories ppc ON ppc.produit_id = pp.id
LEFT JOIN peel_categories pc ON ppc.categorie_id = pc.id
WHERE (pp.position>" . intval(vn($product_position)) . " OR (pp.position=" . intval(vn($product_position)) . " AND pp.id<" . intval($product_id) . "))
AND pc.etat = 1
AND pp.etat = 1
AND pp.on_gift = 0
AND ".$cond."
ORDER BY pp.position ASC, pp.id DESC
LIMIT 1");
if($result_get_next = fetch_assoc($q_get_next)) {
$next = $result_get_next['id'];
$next_catid = $result_get_next['idC'];
$nom_suivant= $result_get_next['nom'];
}
if(!empty($next)){
if($no_html) {
$output.= get_product_url($next, $nom_suivant, $next_catid, get_name_category($next_catid));
} else {
$output.= '<td class="td_mod_next_prev">
<a class="product_next" href="' . get_product_url($next, $nom_suivant, $next_catid, get_name_category($next_catid)) . '" title="'.NEXT .'">'.NEXT .'</a></td>';
}
}
}
return $output;
}
[/CODE] Ensuite, dans getHTMLHead, il faut ajouter le bloc suivant :
[CODE]
if (is_module_precedent_suivant_active()) {
if (defined('IN_CATALOGUE_PRODUIT') && !empty($_GET['id'])) {
$product_object = new Product($_GET['id']);
$output .= '
<link rel="canonical" href="'.get_current_url().'&#8221; />';
$output .= '
<link rel="prev" href="'.show_preview_next($product_object->id, $product_object->position, 'prev').'" />';
$output .= '
<link rel="next" href="'.show_preview_next($product_object->id, $product_object->position, 'next').'" />';
}
}

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

j'ai ajouté true à l'appel de la fonction

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

merci de prendre de ton temps pour tes réponses

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping