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

Сортировка при выборе производителя.


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

Может я чего наделал, не помню уже как было, но мне надо сделать так, чтобы при выборе производителя из бокса "manufacturers", товары сортировались по названию, а не черти как, что у меня сейчас. Я так понимаю, что эти настройки есть в default.php, но найти подходящий "order by" не получается. Подскажите пожалуйста.

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

Они и так сортируются по названию, по идее.

В /includes/modules/default.php есть такая строка:


    if (!$sorting_data['products_sorting'])

    $sorting_data['products_sorting'] = 'pd.products_name';

[/code] Либо просто попобуй заменить все:
[code]
    $sorting = ' ORDER BY '.$sorting_data['products_sorting'].' '.$sorting_data['products_sorting2'].' ';

на:

    $sorting = ' ORDER BY pd.products_name ';

[/code]

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

Может не везде заменил?!

Сортировка задаётся имеено в этом файле, другого нет места.

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

Сейчас еще посмотрю.

У меня возникла следующая проблема сверху на страничке выдает сообщение:

Warning: Smarty error: unable to read resource: "/lang_.conf" in /home/p/planetaaro/public_html/includes/external/smarty/Smarty.class.php on line 1092

Выдает только на главной. Не могу понять что к чему.

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

Да я вроде много, что делал, одно из последних - это добавление алфавитного указателя, который ищет только в нужных категориях, в шаблон product_listing_list.html, а именно вставка следующего кода в product_listing.php:

$query_alphabet2 = vam_db_query('SELECT left(products_name, 1) as pn FROM ' . TABLE_PRODUCTS_DESCRIPTION . ' pd, ' . TABLE_PRODUCTS_TO_CATEGORIES . ' ptc, ' . TABLE_CATEGORIES . ' c where pd.products_id = ptc.products_id and ptc.categories_id=c.categories_id and c.parent_id=25 GROUP BY pn ORDER BY pn');

$search_str2 = '';

while( $next_symb2 = vam_db_fetch_array($query_alphabet2) ) {
  $search_str2 .= "<a href=" . vam_href_link( 'advanced_search_result_alph.php', 'keywords=' . $next_symb2['pn'] ) . "&categories_id=25&inc_subcat=1&x=35&y=8>" . $next_symb2['pn'] . "</a> ";
}

$module->assign('alfman',$search_str2);

$query_alphabet3 = vam_db_query('SELECT left(products_name, 1) as pn FROM ' . TABLE_PRODUCTS_DESCRIPTION . ' pd, ' . TABLE_PRODUCTS_TO_CATEGORIES . ' ptc, ' . TABLE_CATEGORIES . ' c where pd.products_id = ptc.products_id and ptc.categories_id=c.categories_id and c.parent_id=24 GROUP BY pn ORDER BY pn');

$search_str3 = '';

while( $next_symb3 = vam_db_fetch_array($query_alphabet3) ) {
  $search_str3 .= "<a href=" . vam_href_link( 'advanced_search_result_alph.php', 'keywords=' . $next_symb3['pn'] ) . "&categories_id=24&inc_subcat=1&x=35&y=8>" . $next_symb3['pn'] . "</a> ";
}

$module->assign('alfwoman',$search_str3);[/code]

и использование соответствующих меток.

Но убрав этот код, ошибка не пропадает. Ошибка, кстати вылазеет, в самом верху блока main_content и только на главной.

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

Почему-то код языка не подставляется, просто сложно наугад сказать, не зная, что Вы правили.

Для пробы, попробуйте скопировать файл /lang/russian/lang_russian.conf в lang_.conf

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

Решил проблему, просто закоментировав <!-- {config_load file="$language/lang_$language.conf" section="index"} --> в main_content, поскольку там не используется никаких языковых меток. По крайней мере у меня. А еще, что за метка {$MODULE_error}, которая идет следом?

Сортировка товаров по названию при выборе производителя у меня до сих пор не работает. Прикрепил мой default.php. Посмотри пожалуйста.

default.php

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

Попробуй не комментировать, а например в /includes/header.php внизу добавить что-то вроде:


$vamTemplate->assign('language',$_SESSION['language']);
[/code]

По поводу сортировки не знаю, сортировка задаётся именно там где я сказал.

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

Ну в файле, который я выслал, все верно прописано?

Еще я обратил внимание, что сейчас товары сортируются по id.

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

Нет, задаётся именно в этом файле.

А также при создании категории в админке, но ты ж в файле удалил то, что задаётся из админки, я так понял.

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

То есть у тебя получается сделать такой вывод? Может тогда прикрепишь свой default.php, с которым у тебя работает такая сортировка.

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

Решил проблему, дописав в конце кода :

(у меня 247 строка)

$listing_sql = "select p.products_fsk18,
                            p.products_shippingtime,
                            p.products_model,
                            p.products_ean,
                            pd.products_name,
                            p.products_id,
                            p.products_price,
                            m.manufacturers_name,
                            p.products_quantity,
                            p.products_image,
                            p.products_weight,
                            pd.products_short_description,
                            pd.products_description,
                            p.manufacturers_id,
                            p.products_vpe,
                            p.products_vpe_status,
                            p.products_vpe_value,     
                            p.products_discount_allowed,
ptef.products_extra_fields_value,
                            p.products_tax_class_id
                            from ".TABLE_PRODUCTS_DESCRIPTION." pd, ".TABLE_MANUFACTURERS." m, ".TABLE_PRODUCTS." p left join ".TABLE_SPECIALS." s on p.products_id = s.products_id left join ".TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS." ptef ON p.products_id = ptef.products_id
                            where p.products_status = '1'
                            and pd.products_id = p.products_id
                            ".$group_check."
                            ".$fsk_lock."
                            and pd.language_id = '".(int) $_SESSION['languages_id']."'
and ptef.products_extra_fields_id = '1'
                            and p.manufacturers_id = m.manufacturers_id
                            and m.manufacturers_id = '".(int) $_GET['manufacturers_id']."'";[/code] "[b]order by pd.products_name[/b]" т.е получил:
[code]$listing_sql = "select p.products_fsk18,
                            p.products_shippingtime,
                            p.products_model,
                            p.products_ean,
                            pd.products_name,
                            p.products_id,
                            p.products_price,
                            m.manufacturers_name,
                            p.products_quantity,
                            p.products_image,
                            p.products_weight,
                            pd.products_short_description,
                            pd.products_description,
                            p.manufacturers_id,
                            p.products_vpe,
                            p.products_vpe_status,
                            p.products_vpe_value,   
                            p.products_discount_allowed,
ptef.products_extra_fields_value,
                            p.products_tax_class_id
                            from ".TABLE_PRODUCTS_DESCRIPTION." pd, ".TABLE_MANUFACTURERS." m, ".TABLE_PRODUCTS." p left join ".TABLE_SPECIALS." s on p.products_id = s.products_id left join ".TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS." ptef ON p.products_id = ptef.products_id
                            where p.products_status = '1'
                            and pd.products_id = p.products_id
                            ".$group_check."
                            ".$fsk_lock."
                            and pd.language_id = '".(int) $_SESSION['languages_id']."'
and ptef.products_extra_fields_id = '1'
                            and p.manufacturers_id = m.manufacturers_id
                            and m.manufacturers_id = '".(int) $_GET['manufacturers_id']."' order by pd.products_name";

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

Ничего у меня не получается, я говорю, что параметр, по которому сортироваться будет товар внутри категорий задаётся именно в этом файле.

Если не соритрует, либо параметр задан неверно, либо в sql запросе нет той колонки, по которой нужно сортировать.

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

Я только сейчас заметил, когда писал, ответа ещё не было, пардон.

Хорошо, что разобрался, ты наверное из sql запроса что-то лишнее удалил и не подставлялся параметр сортировки.

Вобщем, уже не важно, я так понимаю.

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

Понятно, я как-то сразу не заметил, смотрел, что правильно указано значение $sorting, а вот то, что ты удалил подстановку этой переменной в sql запросил, не заметил.

Хорошо, что сам разобрался.

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