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

Как сделать сортировку по алфавиту?


support

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

Вот один из возможных вариантов.

1. Открываете файл /includes/header.php

Внизу, после:

// /Метки для закладок

Добавляете следующий код:

$query_alphabet = vam_db_query('SELECT left(products_name, 1) as pn FROM ' . TABLE_PRODUCTS_DESCRIPTION . ' GROUP BY pn ORDER BY pn');

$search_str = '';

while( $next_symb = vam_db_fetch_array($query_alphabet) ) {

$search_str .= "<a href=" . vam_href_link( 'advanced_search_result_alph.php', 'keywords=' . $next_symb['pn'] ) . ">" . $next_symb['pn'] . "</a> ";

}

$vamTemplate->assign('alf',$search_str);

2. Открываете /templates/шаблон/index.html и в нужное место вставляете метку:

{$alf}

Будет выведен список первых букв товаров магазина.

Можно также сделать чуть проще, просто не трогать файл /includes/header.php

А в /templates/шаблон/index.html добавить все буквы алфавита следующим образом:

<a href="advanced_search_result_alph.php?keywords=а">а</a>

<a href="advanced_search_result_alph.php?keywords=б">б</a>

<a href="advanced_search_result_alph.php?keywords=в">в</a>

и т.д.

Делайте так как Вам удобнее.

3. Скопируйте файл /advanced_search_result.php в /advanced_search_result_alph.php

4. Откройте /advanced_search_result_alph.php и замените в нём:

default :

$where_str .= " ( ";

$where_str .= "pd.products_keywords LIKE ('%".addslashes($search_keywords[$i])."%') ";

if (SEARCH_IN_DESC == 'true') {

$where_str .= "OR pd.products_description LIKE ('%".addslashes($search_keywords[$i])."%') ";

$where_str .= "OR pd.products_short_description LIKE ('%".addslashes($search_keywords[$i])."%') ";

}

$where_str .= "OR pd.products_name LIKE ('%".addslashes($search_keywords[$i])."%') ";

$where_str .= "OR p.products_model LIKE ('%".addslashes($search_keywords[$i])."%') ";

if (SEARCH_IN_ATTR == 'true') {

$where_str .= "OR (pov.products_options_values_name LIKE ('%".addslashes($search_keywords[$i])."%') ";

$where_str .= "AND pov.language_id = '".(int) $_SESSION['languages_id']."')";

}

$where_str .= " ) ";

break;

На:

default :

$where_str .= " ( ";

$where_str .= " left( pd.products_name, 1) = '" . addslashes($search_keywords[$i]) . "'";

$where_str .= " ) ";

break;

На этом всё.

Теперь нажав на ссылку с буквой алфавита, Вы получите список товаров магазина, начинающийся на выбранную букву.

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