Перейти к содержанию
Форум поддержки пользователей VamShop

Навигация по товару


Рекомендуемые сообщения

В настройке каталога у меня выбрана сортировка "по порядку". Товары выводится в последовательности, соответствующей их номерам. А вот перелистывая товары с помощью навигации по товару товары перелистываются в порядке "сортировка по наименованию". А как можно настроить навигацию по товару, чтобы листались в порядке "сортировки по порядку"?

Ссылка на сообщение
Поделиться на другие сайты

В /includes/modules/product_navigator.php нужно добавить order by параметр в sql запрос в переменной $products_query

Ссылка на сообщение
Поделиться на другие сайты

Спасибо. Примерно такое решение и и представлял. Но ведь нужно еще определит каким образом сортировать. А сортировать нужно также, как отсортированы в каталоге товары. Как и откуда вытащить это значение?

Ссылка на сообщение
Поделиться на другие сайты

Тут без правки кода никак.

Если знаете основы php и mysql, то ничего сложного.

Нужно сделать запрос в таблицу categories, взять оттуда информацию и порядке сортировки, id категории можно взять из переменной $current_category_id

Ссылка на сообщение
Поделиться на другие сайты

Нет, к сожалению, очень плохо знаю. А можно это включить в исправления магазина? Это вроде как бы не лично мое пожелание, а неправильная работа навигации.

Ссылка на сообщение
Поделиться на другие сайты

Попробуйте в /includes/modules/product_navigator.php поменять:


$products_query = vamDBquery("SELECT
                                pc.products_id,
                                pd.products_name
                                FROM ".TABLE_PRODUCTS_TO_CATEGORIES." pc,
                                ".TABLE_PRODUCTS." p,
                                ".TABLE_PRODUCTS_DESCRIPTION." pd
                                WHERE categories_id='".$current_category_id."'
                                and p.products_id=pc.products_id
                                and p.products_id = pd.products_id
                                and pd.language_id = '".(int) $_SESSION['languages_id']."'
                                and p.products_status=1
                                ".$fsk_lock.$group_check);
[/code] на:
[code]
    $sorting_query = vamDBquery("SELECT products_sorting,
                                                products_sorting2 FROM ".TABLE_CATEGORIES."
                                                where categories_id='".(int)$current_category_id."'");
    $sorting_data = vam_db_fetch_array($sorting_query,true);
    if (!$sorting_data['products_sorting'])
    $sorting_data['products_sorting'] = 'pd.products_name';
    $sorting = ' ORDER BY '.$sorting_data['products_sorting'].' '.$sorting_data['products_sorting2'].' ';
   
$products_query = vamDBquery("SELECT
                                pc.products_id,
                                pd.products_name
                                FROM ".TABLE_PRODUCTS_TO_CATEGORIES." pc,
                                ".TABLE_PRODUCTS." p,
                                ".TABLE_PRODUCTS_DESCRIPTION." pd
                                WHERE categories_id='".$current_category_id."'
                                and p.products_id=pc.products_id
                                and p.products_id = pd.products_id
                                and pd.language_id = '".(int) $_SESSION['languages_id']."'
                                and p.products_status=1
                                ".$fsk_lock.$group_check.$sorting);

Ссылка на сообщение
Поделиться на другие сайты

При сортировке по порядку и по наименованию работает. А при сортировке по цене работает неправильно. По другим способом сортировки не пробовал.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...