Форум пользователей Impera CMS
Impera CMS - отличный движок для лёгкого создания интернет магазина.
Обладает невероятным количеством функций, необходимых в онлайн торговле.

Следить
Главная
18:32
17 янв
#
?
написал:

Как выставить свойства на клиентской стороне, не в алфавитном порядке? Хотя по бы по правилу "Как добавлялись". Не говорю уже о возможности перемещать стрелочками, как бренды...

12:39
18 янв
#
?
EraUa написал:

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

20:48
19 янв
#
?
написал:

Поддерживаю вопрос. Хотелось бы еще реализовать возможность объеденить свойства по блокам, к примеру:

Подключения:

юсб... да

ав.. да

Габариты:

Длинна ... 150 мм

Высота... 70 мм

Глубина... 20 мм

22:22
19 янв
#
?
EraUa написал:

Раз уж такая тема, то хотелось би иметь возможность добавить свойство, а значения добавлять на лету, т.к. есть такие характеристики которые имеют разное значение у разных товаров и они уникальны, их разброс слишком большой. И получается что для некоторых свойств нужно создать по 50-100 значений, что не удобно. Например свойство длинна было удобно просто задать числовым полем, а саму длинну сразу задавать при добавлении товара, а не создавать список всех возможных длин коих может быть 100 шт.

01:07
20 янв
#
?
написал:

Раскопал вот. В файле objects/Selector.php есть метод fetch_products на строке 781.

    public function fetch_products ($category_url, $brand_url) {

Метод выполняется когда пользователь открыл на сайте страницу товаров категории. В этом методе на строке 995 есть такой код.

    // берем упорядоченный по названию список свойств товаров (непустых, разрешенных и используемых в фильтре, а также в такой категории/бренде)
    $params = new stdClass;
    $params->sort = SORT_PROPERTIES_MODE_BY_NAME;
    $params->optioned = 1;
    $params->enabled = 1;
    $params->in_filter = 1;
    if (!empty($category)) $params->category_id = $category->category_id;
    // если это чисто страница бренда (то есть не категория -> бренд)
    if (!empty($brand) && empty($category)) $params->brand_id = $brand->brand_id;
    $this->db->get_properties($properties, $params);
    $this->db->fix_properties_records($properties);

Вот где читаются свойства которые потом выводятся в фильтре. Смотрите на строку 997.

    $params->sort = SORT_PROPERTIES_MODE_BY_NAME;

Непонятно зачем свойства сортируются по имени. Наверное опечатка потому что я нашёл также в файле objects/Database.php на строке 375 есть ещё константы. Свойства то можно сортировать и по порядку "как есть" как расставлены.

    // значения динамического параметра REQUEST_PARAM_NAME_SORT применительно к свойствам товаров
    define('SORT_PROPERTIES_MODE_AS_IS', 1);
    define('SORT_PROPERTIES_MODE_BY_NAME', SORT_PROPERTIES_MODE_AS_IS + 1);

Таким образом строку 997 правильно было писать всё же так.

    $params->sort = SORT_PROPERTIES_MODE_AS_IS;

Но тут ещё надо разработчику на странице "товары > Свойства товаров" сделать jquery перемещение свойств мышкой как сейчас можно переставлять строки товаров в категориях когда список упорядочен "как расставлены". Иначе расставить свойства как мне нужно я могу конечно, с помощью phpmyadmin ручками пробив значения поля order_num таблицы properties. А это знаете ли неудобно учитывая, что phpmyadmin не приспособлен для последовательного изменения одного поля в таблице.

Написание ответа

Перед публикацией рекомендуется использовать Предпросмотр, чтобы увидеть конечный вид сообщения.


Обратите внимание! Для противодействия спаму новые посты форума проявляются с задержкой от нескольких минут, пока не пройдут модерацию.