problem dotyczy witryny: http://www.sklep.swisskiss.pl (http://www.sklep.swisskiss.pl/)
teraz do rzeczy... wchodząc np. Linie Kaw >> Ligne d'Azur
wyświetla się lista produktów w danej kategorii, wszystko działa ale do czasu...na górze są strzałki umożliwiające poruszanie się pomiędzy produktami i tak:
Linie Kaw arrow Ligne d`Azur arrow Côte d’Azur 1kg
klikając strzałkę w prawo uzyskujemy:
Linie Kaw arrow Ligne d`Azur arrow Côte d’Azur 250g (jeszcze wszystko ok)
kolejne przejście w prawo:
Rodzaj ziarna arrow Mieszanki arrow Saint Tropez 1kg
i kolejne...
Opakowania arrow 250g arrow Saint Tropez 250g
i tu pojawia się mój problem, dlaczego wciśniecie kolejnego produktu powoduje wyście z kategorii, podkategorii i wejście do innej?
Jakiś pomysł na rozwiązanie problemu?
kodhtml
06-02-2012, 11:38
Dlatego, że masz przypisane produkty do różnych kategorii. Aby to poprawić trzeba byłoby prawdopodobnie modyfikować kod VM, co mogłoby sprawić problem w przypadku aktualizacji. Prostym rozwiązaniem (aczkolwiek niezbyt eleganckim) jest dodanie duplikatów produktów do poszczególnych kategorii. Jednak w tym wypadku problemem będzie kontrola stanu magazynowego.
dmuchowski
06-02-2012, 17:32
o tym myślałem jako ostateczność, jednak co jeśli baza zawiera powyżej 100 produktów.
kodhtml
07-02-2012, 10:03
W tym wypadku pozostaje modyfikacja kodu.
dmuchowski
07-02-2012, 10:48
konretnie jakie zmiany w kodzie?
do wyświetlania produktów używam: flypage.tpl
kodhtml
07-02-2012, 10:59
To nie ma związku z szablonem, chodzi o funkcję pobierającą "sąsiadujące" produkty względem aktualnie wyświetlanego (get_neighbor_products). Przeanalizuj jej działanie i dokonaj odpowiednich zmian.
dmuchowski
07-02-2012, 12:55
Problem dotyczy funkcji get_neighbor_products w pliku
ps_products.php
wchodzi do innej kategorii, a ma zostać w tej samej.
/**
* This function retrieves the "neighbor" products of a product
specified by $product_id
* Neighbors are the previous and next product in the current list
*
* @param int $product_id
* @return array
*/
function get_neighbor_products( $product_id ) {
global $perm, $orderby, $my, $auth, $keyword, $DescOrderBy,
$limit, $limitstart, $search_limiter, $search_op,
$category_id, $manufacturer_id, $vm_mainframe, $vmInputFilter,
$product_type_id, $keyword1, $keyword2;
$limit = 2000;
$limitstart = 0;
if( !empty( $_SESSION['last_browse_parameters'])) {
foreach( $_SESSION['last_browse_parameters'] as $paramName =>
$paramValue ) {
$$paramName = $paramValue;
}
}
$db = new ps_DB();
$db_browse = new ps_DB();
if (defined('VM_ALLOW_EXTENDED_CLASSES') &&
defined('VM_THEMEPATH') && VM_ALLOW_EXTENDED_CLASSES &&
file_exists(VM_THEMEPATH.'user_class/shop_browse_queries.php')) {
// Load the user-defined shop_browse_queries file
include_once(VM_THEMEPATH.'user_class/shop_browse_queries.php');
} else {
// Otherwise we have to use the original file
include( PAGEPATH . 'shop_browse_queries.php' );
}