SHKEd 0 Posted August 26, 2020 Report Share Posted August 26, 2020 Крутил я так и всяк, а как по умолчанию сделать так, чтобы товары сортировали по ручной сортировке, но товары не в наличии (сток меньше или равно нулю) уходили назад? Может кто прикрутил такую сортировку, подскажите пожалуйста А то я пока не могу в голове даже разобрать такой запрос, на ум приходит только сортировка уже после получения списка, отсортировать их вручную методом перебора Но проблема ( он бьет по страницам Link to post Share on other sites
SHKEd 0 Posted August 26, 2020 Author Report Share Posted August 26, 2020 Было решено все же вручную сделать, знаю что не по феншуйски это, но другого выхода я пока не придумал, позже может чет умнее придет в голову. Просто добавил параметр "sort_stock", и разбил на страницы массив всех товаров Замена function.content_listing.php } else { if (!isset($params['limit'])) $params['limit'] = $config['PRODUCTS_PER_PAGE']; $content_list_data = $Content->find('all', array('conditions' => $content_list_data_conditions, 'limit' => $params['limit'], 'page' => $params['page'], 'order' => array($params['order_column']))); $content_total = $Content->find('count', array('conditions' => $content_list_data_conditions)); } На } else { if (!isset($params['limit'])) $params['limit'] = $config['PRODUCTS_PER_PAGE']; if (isset($params['sort_stock'])) { $content_list_data = $Content->find('all', array('conditions' => $content_list_data_conditions, 'order' => array($params['order_column']))); $sort_first = $sort_second = array(); foreach($content_list_data as $stock){ ($stock['ContentProduct']['stock'] <= 0) ? $sort_second[] = $stock : $sort_first[] = $stock; } $content_list_data = array_merge($sort_first,$sort_second); $offset = ($params['page'] == 1) ? 0 :($params['page'] - 1) * $params['limit']; $content_list_data = array_slice($content_list_data, $offset, $params['limit']); $content_total = $Content->find('count', array('conditions' => $content_list_data_conditions)); }else{ $content_list_data = $Content->find('all', array('conditions' => $content_list_data_conditions, 'limit' => $params['limit'], 'page' => $params['page'], 'order' => array($params['order_column']))); $content_total = $Content->find('count', array('conditions' => $content_list_data_conditions)); } } добавить в листинг шаблона Категории параметр {content_listing parent={$content_id} page={$page} type="product,downloadable" current_order={$current_order} order="order" sort_stock="1" } Link to post Share on other sites
support 447 Posted August 26, 2020 Report Share Posted August 26, 2020 3 часа назад, SHKEd сказал: Крутил я так и всяк, а как по умолчанию сделать так, чтобы товары сортировали по ручной сортировке, но товары не в наличии (сток меньше или равно нулю) уходили назад? Может кто прикрутил такую сортировку, подскажите пожалуйста А то я пока не могу в голове даже разобрать такой запрос, на ум приходит только сортировка уже после получения списка, отсортировать их вручную методом перебора Но проблема ( он бьет по страницам Вроде как в sql просто задаётся order by sort order asc, quantity desc Как-то так, надо экспериментировать. Link to post Share on other sites
support 447 Posted August 26, 2020 Report Share Posted August 26, 2020 Не заметил второго сообщения. Ну да, примерно так и сделали я так понял, задав order by Link to post Share on other sites
SHKEd 0 Posted August 26, 2020 Author Report Share Posted August 26, 2020 20 минут назад, support сказал: Не заметил второго сообщения. Ну да, примерно так и сделали я так понял, задав order by Неее, не так... (остались в коде неудаляшки). Получил все и отсеял, если задан параметр - сортировать по стоку. Таким образом все товары, которые не в наличии - уходят назад страниц. Впереди уже получается та сортировка,которую задает пользователь: по имени, по цене и т.д. https://akvagrim-studio.ru/category/Reguljarnye-cveta.html Link to post Share on other sites
support 447 Posted August 26, 2020 Report Share Posted August 26, 2020 39 минут назад, SHKEd сказал: Неее, не так... (остались в коде неудаляшки). Получил все и отсеял, если задан параметр - сортировать по стоку. Таким образом все товары, которые не в наличии - уходят назад страниц. Впереди уже получается та сортировка,которую задает пользователь: по имени, по цене и т.д. https://akvagrim-studio.ru/category/Reguljarnye-cveta.html Понятно. Так а я хотел спросить, вот в git код который лежит, он же уже с новым модулем оформления, модули доставки, оплаты тоже исправлены там?! База данных где-то тоже есть исправленная, дамп базы?! или там правки только в файлах?! Link to post Share on other sites
SHKEd 0 Posted August 27, 2020 Author Report Share Posted August 27, 2020 16 часов назад, support сказал: Так а я хотел спросить, вот в git код который лежит, он же уже с новым модулем оформления, модули доставки, оплаты тоже исправлены там?! Нет, он там пересобран, дополнен. Пока собираю специально для вамшопа, чтобы уже был для движка, а не заточен под определенный сайт. Потому что сами модули доставки отличаются, и логика. Я как и обещал выдам код, когда он будет протестирован и проверен. Это уже более глобальный уровень, нежели делать для сайта) Link to post Share on other sites
support 447 Posted August 27, 2020 Report Share Posted August 27, 2020 51 минуту назад, SHKEd сказал: Нет, он там пересобран, дополнен. Пока собираю специально для вамшопа, чтобы уже был для движка, а не заточен под определенный сайт. Потому что сами модули доставки отличаются, и логика. Я как и обещал выдам код, когда он будет протестирован и проверен. Это уже более глобальный уровень, нежели делать для сайта) Хорошо, спасибо. Тогда жду. Link to post Share on other sites
vitaly 1 Posted November 23, 2020 Report Share Posted November 23, 2020 Здравствуйте! В Вамшопе уже работает такой функционал? Чтобы товары не в наличии (сток меньше или равно нулю) были в конце списка товаров? Link to post Share on other sites
support 447 Posted November 23, 2020 Report Share Posted November 23, 2020 44 минуты назад, vitaly сказал: Здравствуйте! В Вамшопе уже работает такой функционал? Чтобы товары не в наличии (сток меньше или равно нулю) были в конце списка товаров? Здравствуйте! В VamShop 1 есть опция при редактировании категории в админке. Опция сортировка. Link to post Share on other sites
vitaly 1 Posted November 23, 2020 Report Share Posted November 23, 2020 Спасибо. Прошу прощения, ошибся версией. Link to post Share on other sites
support 447 Posted November 23, 2020 Report Share Posted November 23, 2020 Не за что Link to post Share on other sites
Recommended Posts