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

Как сделать возможность изменения сортировки товара посетителями при просмотре товаров в категории?


support

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

Например можно сделать следующее:

1. Открывайте шаблон списка товаров /templates/шаблон/module/product_listing/product_listing_list.html и/или product_listing_columns.html и вставляйте например следующий код:

<p>

Сортировка:

<a href="{$LINK_sort_name_asc}">имя (по убыванию)</a> |

<a href="{$LINK_sort_name_desc}">имя (по возрастанию)</a> |

<a href="{$LINK_sort_price_asc}">цена (по убыванию)</a> |

<a href="{$LINK_sort_price_desc}">цена (по возрастанию)</a><br />

</p>

2. Открывайте файл /includes/modules/product_listing.php

Ищите:

$module->assign('module_content', $module_content);

добавляйте после:

$module->assign('LINK_sort_name_asc',vam_href_link(basename($PHP_SELF),vam_get_all_get_params(array ('page','sort', 'direction', 'info','x','y')) . 'sort=name&direction=asc'));

$module->assign('LINK_sort_name_desc',vam_href_link(basename($PHP_SELF),vam_get_all_get_params(array ('page','sort', 'direction', 'info','x','y')) . 'sort=name&direction=desc'));

$module->assign('LINK_sort_price_asc',vam_href_link(basename($PHP_SELF),vam_get_all_get_params(array ('page','sort', 'direction', 'info','x','y')) . 'sort=price&direction=asc'));

$module->assign('LINK_sort_price_desc',vam_href_link(basename($PHP_SELF),vam_get_all_get_params(array ('page','sort', 'direction', 'info','x','y')) . 'sort=price&direction=desc'));

3. Открывайте файл /includes/modules/default.php

Ищите (встречается три раза):

$sorting_data = vam_db_fetch_array($sorting_query,true);

добавляйте (добавляйте код после каждой найденной строки):

my_sorting_products($sorting_data);

4. В файл /includes/local_modules.php добавляйте следующий код:

function my_sorting_products($sorting_data) {

global $sorting_data;

static $sortingTypes = array('name', 'price');

static $directionTypes = array('asc', 'desc');

$sort = initGetVariable('sort', '');

$direction = initGetVariable('direction', '');

if( in_array($sort, $sortingTypes) && in_array($direction, $directionTypes) ) {

$sorting_data = array('products_sorting'=> 'products_' . $sort, 'products_sorting2'=>$direction);

}

}

function InitGetVariable($var, $value) {

return isset($_GET[$var]) ? $_GET[$var] : $value;

}

function InitPostVariable($var, $value) {

return isset($_POST[$var]) ? $_POST[$var] : $value;

}

function InitHttpVariable($var, $value) {

return isset($_GET[$var]) ? $_GET[$var] : isset($_POST[$var]) ? $_POST[$var] : $value;

}

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