Перейти к содержанию
Официальный форум поддержки Simpla

Упорядочить товары в корзине по мере добавления


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

Всем привет.
Есть такой вопрос - надо, чтобы в корзине товары выводились в порядке их добавления, возможно ли это сделать?
Спасибо.

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

Вопрос конечно странный.

Сделать можно всё!

 

Я, конечно, недавно на форуме, но твой стиль общения уже уловил, Нокстер.

 

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

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

Я, конечно, недавно на форуме, но твой стиль общения уже уловил, Нокстер.

 

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

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

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

 

Согласен, мой косяк.

 

Прошу гуру симплы помочь начинающему с реализацией задачи, описанной в моём вопросе. 

Заранее благодарен.

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

Согласен, мой косяк.

 

Прошу гуру симплы помочь начинающему с реализацией задачи, описанной в моём вопросе. 

Заранее благодарен.

Смотрите в сторону api/Products.php там есть уже готовые сортировки.
$products = $this->products->get_products(array('sort'=>'created'));
Ссылка на сообщение
Поделиться на другие сайты

 

Смотрите в сторону api/Products.php там есть уже готовые сортировки.

$products = $this->products->get_products(array('sort'=>'created'));

 

это я знаю. делал вывод товара в карусели рандомно. добавлял свою сортировку 'random'.

здесь подойдёт created или надо свою писать?

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

это я знаю. делал вывод товара в карусели рандомно. добавлял свою сортировку 'random'.

здесь подойдёт created или надо свою писать?

Попытка не пытка.

Что проще сидеть и ждать у моря погоды или потратить пару минут чтобы самому проверить??

Лентяям тут не помогают.

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

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

 

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

 

2. А если быстренько на глазок написать решение, то потом от Вас по нему вопросы пойдут - то не так и это не эдак. Свежий пример: написал опытный мастер решение

http://forum.simplacms.ru/topic/14086-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2-%D0%B1%D0%B5%D0%B7-%D0%B1%D1%80%D0%B5%D0%BD%D0%B4%D0%B0-%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80-%D0%B2-%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%BA%D0%B5/

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

 

3. Вот в теме Вам посоветовали смотреть в сторону api/Products.php. А совет-то совсем неправильный, тот файл почти никак не связан с вопросом. То есть с ходу даже специалист не всегда может правильно определить, в какой области исправлять.

 

Отображение корзины делается по шаблону design/default/html/cart.tpl, данные для шаблона формируются в view/CartView.php, api/Cart.php. Там и пробуйте копать.

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

Я почему-то был уверен, что речь идёт и странице каталога.

Если для корзины, то нужно отсортировать массив api/Cart.php, обычная сортировка товаров через методы API никак не поможет.

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

Я почему-то был уверен, что речь идёт и странице каталога.

Если для корзины, то нужно отсортировать массив api/Cart.php, обычная сортировка товаров через методы API никак не поможет.

 

api/Cart.php - до сих пор это считалось файлом.

 

Программист, не отличающий файла от массива - это что-то новенькое. Так не путаются даже новички...

Изменено пользователем phukortsin
Ссылка на сообщение
Поделиться на другие сайты

api/Cart.php - до сих пор это считалось файлом.

 

Программист, не отличающий файла от массива - это что-то новенькое. Так не путаются даже новички...

Корс ты дебил никак не иначе, для тебя одарённого поясню, api/Cart.php файл в котором нужно отсортировать массив.

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

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

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

Каждая ветка заканчивается одним и тем же.

По существу может мне кто-то помочь?
В Cart.php выбор товаров идёт же здесь - $variants = $this->variants->get_variants(array('id'=>array_keys($session_items))); ?
По какому принципу вообще можно отсортировать именно по порядку добавления?

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

Посмотреть какой порядок в $session_items - если устраивает - то пробежаться по этому массиву и расставить $variants в нужном порядке

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

Посмотреть какой порядок в $session_items - если устраивает - то пробежаться по этому массиву и расставить $variants в нужном порядке

Нет, нужно сортировать массив $cart->purchases.
Ссылка на сообщение
Поделиться на другие сайты

Нет, нужно сортировать массив $cart->purchases.

Можно делать разными способами.

Один из них - сортировать массив $cart->purchases.

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

 

То, что предложил Kosjak76 - существенно эффективнее.

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

Можно делать разными способами.

Один из них - сортировать массив $cart->purchases.

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

 

То, что предложил Kosjak76 - существенно эффективнее.

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

Ты для начала попробуй отсортировать используя вариант Кости, а потом поговорим.

 

Попробовал, все прекрасно работает.

А если еще чуть-чуть улучшить его идею - просто конфетка выходит...

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

Попробовал, все прекрасно работает.

А если еще чуть-чуть улучшить его идею - просто конфетка выходит...

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

не сильно описана суть задачи. Но может это подойдет http://forum.simplacms.ru/topic/10086-как-сделать-чтовы-в-корзине-последней-позицией/?p=76113

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

не сильно описана суть задачи. Но может это подойдет http://forum.simplacms.ru/topic/10086-как-сделать-чтовы-в-корзине-последней-позицией/?p=76113

 

А я бы сказал, что это довольно редкий случай, когда задача описана очень точно.

Конечно, при строгом рассмотрении можно и тут найти некорректность.

 

Например, в корзину положили сначала Товар1, потом Товар 2, потом еще Товар 1 (стало 2 шт), потом еще Товар 2 (стало 2 шт). В такой ситуации даже самодовольное утверждение Noxter-а

 

Сделать можно всё!

 

станет в принципе невыполнимым. Разве что вообще весь функционал корзины переделывать, помнить историю укладки в корзину каждой единицы товара. Но это уже будет не простая Simpla, а почти Импера...

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

 

А я бы сказал, что это довольно редкий случай, когда задача описана очень точно.

Конечно, при строгом рассмотрении можно и тут найти некорректность.

 

Например, в корзину положили сначала Товар1, потом Товар 2, потом еще Товар 1 (стало 2 шт), потом еще Товар 2 (стало 2 шт). В такой ситуации даже самодовольное утверждение Noxter-а

 

 

станет в принципе невыполнимым. Разве что вообще весь функционал корзины переделывать, помнить историю укладки в корзину каждой единицы товара. Но это уже будет не простая Simpla, а почти Импера...

 

При добавлении в корзину - можно писать в локальную переменную значение с сессии (если таковое есть) делать ансет и создавать новое значение + переменная. Это не сложно. Но как я писал выше ТС - не дал особо много вводных данных и из за этого уже две страницы "решений"

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

Корс ты не силён в таких вопросах, ты ведь не отличаешь файлы от классов...

О чём с тобой вообще можно говорить, что обсуждать?

Дам подсказку тебе неуку, так и быть!

Вместо ID варианта используем дату добавления товара в корзину, конечно нужно будет переделать логику корзины вместо ID=>amount придется сделать нечто подобное:

$_SESSION['shopping_cart'] = array('дата'=>array('id'=>12, 'amount'=>1));
Но тебе не позволяют твои скиллы додуматься до такого простого (для тебя непростого) решения...
Ссылка на сообщение
Поделиться на другие сайты

 

А я бы сказал, что это довольно редкий случай, когда задача описана очень точно.

Конечно, при строгом рассмотрении можно и тут найти некорректность.

 

Например, в корзину положили сначала Товар1, потом Товар 2, потом еще Товар 1 (стало 2 шт), потом еще Товар 2 (стало 2 шт). В такой ситуации даже самодовольное утверждение Noxter-а

 

 

станет в принципе невыполнимым. Разве что вообще весь функционал корзины переделывать, помнить историю укладки в корзину каждой единицы товара. Но это уже будет не простая Simpla, а почти Импера...

 

Я напишу полностью, что хотел бы сделать у себя на сайте.

Сразу напишу, что решение костыльное, но по-другому пока никак.

 

Сайт доставки еды. У некоторых товаров (типа суши) есть ещё ингридиенты, которые можно добавлять к товару.

Купил модуль "Множественные чекбоксы" и даже заказал платную установку, но он стал криво, разработчик пеняет на шаблон, но на мой взгляд, даже на примерах и скриншотах тым куча недочётов, в том числе и при повторяющихся заказанных товарах.

В общем, я отказался в итоге от него. И просто перенёс и переделал блок рекомендуемых товаров.

В идеале было бы, если бы при добавлении доп. товара он закидывался в корзину сразу после основного товара (отсюда вопрос по сортировке), а ещё в самой корзине к названию доп. товара дописывалось, к какому именно товару он относится.

И при такой сортировке, конечно, если заказывается какой-то товар второй раз, то он должен записываться отдельной строкой в корзине.

 

это в идеале. если кто-то может это всё сделать, напишите мне в личку цену.

ну а минимальная задача - это просто отсортировать в корзине по мере поступления.

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

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...