page suivante ou retour

6 messages dans ce sujet

Posté(e) · Signaler ce message

comment puis je avoir page retour et suivant sous la 6.3

comment renseigner la position dans un import en masse soit 13500 articles

pourriez vous me donner la conbine pour avoir cette fonction sans devoir renseigner la postion

comme sur une 5.7 ou 6.2 page retour ou page suivante pour linstant l ai un site sans pouvoir faire defiller des pages c est bizare non !

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Cette fonctionnalité de passer d'un produit à un autre est nouvelle sur 6.3.

Pour avoir cette fonctionnalité, il faut effectivement que la position soit renseignée. Une solution est de mettre à jour en SQL vos données, mais pour vous faciliter la vie, voici une adaptation du code qui retire cette limitation, et qui sera mise dans la prochaine version de PEEL Shopping :

- dans lib/fonctions/display_product.php vers ligne 110 à côté de is_module_precedent_suivant_active(), supprimez les conditions sur position !empty, et vous obtenez :

$output .= '
<tr>' . (is_module_precedent_suivant_active()?show_preview_next($product_object->id, $product_object->position, 'prev'):'') . '
<td class="title-details-product"><h2>' . $product_object->name . '</h2></td>
<td style="white-space: nowrap;">' . $product_title_price . '</td>
' . (is_module_precedent_suivant_active()?show_preview_next($product_object->id, $product_object->position, 'next'):'') . '
</tr>
</table>';[/CODE] - Dans modules/precedent_suivant/fonctions.php, remplacez le texte de la fonction
[CODE]
/**
* 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)
{
$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)){
$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)){
$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;
}

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

pour moi aucune difference sur le site !!

pas de position d activee dans mon import csv et toujours pas de pages visible suivant et retour de visible sur le site

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Ce que j'ai écrit n'a pas pour vocation de remplir des positions, mais de permettre l'activation de précédent et suivant dans les fiches produits.

Donc bien évidemment ceci ne change rien pour l'export.

Concernant les boutons précédent et suivant, si vous activez dans la page de configuration de votre boutique et que vous faites ce que j'ai écrit, ça marchera, je l'ai bien testé sur une version 6.3 sans aucune autre modification.

Gilles

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

donc j importe avec un csv mes 13500articles

je rajoute un champs position et comment remplir cette colonne (le chiffre 1 actif pour chaque article) ci joint un exemple de ligne

categorie_id reference nom_fr prix prix_achat tva position etat image1 id_marque descriptif_fr on_stock affiche_stock 52 100 STICKER CARBONE (FEUILLE) 3.1 2.7 19.60 1 1 100.jpg STICKER CARBONE (FEUILLE) 0 1 85 101 BLOQUE PISTON 14x125 REPLAY UNIVERSEL 2.7 1.8 19.60 1 1 101.jpg REPLAY BLOQUE PISTON 14x125 REPLAY UNIVERSEL 0 1 51 103 BOUCHON D'HUILE SCOOT REPLAY POUR BOOSTER BLANC 2.5 1.7 19.60 1 1 103.jpg REPLAY BOUCHON D'HUILE SCOOT REPLAY POUR BOOSTER BLANC 0 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

si vous souhaitez ordonner les produits, vous devez mettre sous excel un nombre différent par ligne : par exemple 467, 489, etc

Je reprécise notre discussion passée :

De mon côté je vous ai répondu pour vous donner une solution pour avoir les boutons "précédent" et "suivant" sur la barre de titre des pages de chaque produit.

Les modifications dont je vous ai parlées ne nécessitent pas du tout de toucher à cette colonne position.

Je vous invite à me donner une URL précise pour m'indiquer ce en quoi je peux vous aider, et notamment si vous parlez d'une autre notion de "suivant et retour" quelque part sur votre site.

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