Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

mpn2005

Користувачі
  
  • Публікації

    3 222
  • З нами

  • Відвідування

Усі публікації користувача mpn2005

  1. Простите, но это просто ужасно. Можно обойтись одним implode. <?php $html = array(); foreach ($products as $product) { foreach ($product['option'] as $option) { $html[] = $option['model'] . '-' . $product['quantity']; } } echo implode(', ', $html); ?>
  2. Мой модуль добавляет только одно изображение к опции. Если надо больше, то посмотрите на модуль "изображения опций pro".
  3. Добрый день. Подойдёт. Только надо будет доработать мой модуль обновления цены, для смены изображения и артикула. P.S.: Я на эти выходные уезжаю. Поэтому смогу выделить время на следующей неделе.
  4. Я говорю, что из коробки не взлетит. И прилично пришлось переписать, что бы на виртуальном хостинге это работало. И только индексами и настройками не обойтись. Это на Ваше голословное заявляние, хоть 1000. В общем хватит оффтопить.
  5. Я как раз таки очень плотно с этим работал. И скажу Вам, что это не так всё весело, как кажется. Возьмите товаров с опциями и закиньте в корзину 100-300 штук. И штатный движок ляжет. Ну уж точно не потянет на виртуальном хостинге. Тут недавно проскакивала длинная тема по обсуждению этого вопроса.
  6. В общем тут много вопросов в реализации. И всё действительно зависит от множества факторов. Поэтому самое оптимальное вывести в корзине и глубже не лезть. Особенно если учесть всё нюансы упоминаемые в обсуждении. P.S.: Лишние запросы для такой сомнительной функции тоже не стоит добавлять в движок. Т.к. если будут кидать в корзину по 100 товаров, то тут и штатные запросы корзины придётся минимизировать. Но это касается магазинов с кучей мелких товаров.
  7. Не могу с этим согласиться. 1) Покупатель оформляет заказ. 2) Заказ создаётся с нулевым статусом. И покупатель перенаправляется в платёжную систему. 3) После успешной оплаты покупатель попадает на страницу завершения заказа. (тут сессия живая) 4) Платёжная система со своего сервера делает callback запрос для подтверждения оплаты. И при корректном key и всех данных, статус заказа меняется на оплаченный. Вот тут уже нет никакой сесии покупателя, это совсем отдельный запрос со своей сессией. И именно тут меняется статус заказа и отправляется письмо.
  8. Она то сохранится для покупателя. Но при приходе callback к сессии покупателя не будет доступа. А письмо уходит именно при приходе callback, если используется метод автоматической оплаты.
  9. В сессию не получится. От платёжки подтверждение идёт сосвем с другого адреса и будет другая сессия. Вообще согласен, задача весьма сомнительная.
  10. Да. Но есть ещё интервал ожидании оплаты. Теоретически может пройти некторое время до подтверждения заказа (пока проходит оплата). В этот момент могут поменятся цены акции, или пропасть акции. И на момент подтверждения данные будут не валидны. Поэтому всё же лучше сохранять копию данных, как это предусмотрено в движке.
  11. Точно. Запамятовал уже. Но более правильный вариант - это сохранить в таблице заказа акционную цену товара из корзины. Т.к. прямой запрос отрежет возможную совместимостть модулей влияющих на акции. Например модули - "Акции в процентах" и т.д.
  12. И нет смысла делать лиший запрос в catalog/model/checkout/order.php Т.к. там все данные достаются из корзины getProducts. И более правильный вариант - это реализовать на уровне корзины. И просто забирать данные из нужного поля.
  13. Обязательно. Т.к. ваше: 'special' => $this->currency->format($special + ($this->config->get('config_tax') ? $product['tax'] : 0), $order_info['currency_code'], $order_info['currency_value']), При отсутствии акции выведет '0 руб' Т.к. $special у вас будет = 0 И в шаблоне не отработает: <?php if (!$product['special']) { ?> Т.к. там не пустая строка '0 руб'
  14. Добрый день. Т.к. тема в разделе для разработчиков, опишу основной алогоритм. Реализация для корзины: 1) В либе корзины сохраняете цену товара до применения скидок и акций 2) В коде отдачи данных о товаре доавляете перменную old_price (название для примера). Если цена равна цене после обработки скидок и акций, то возвращаете false. 3) В контроллере корзины обрабатываете переменную из либы корзины. Если там не false, то готовите форматированную цену, иначе отаёте false 4) В шаблоне корзины, если не false, то выводите старую цену. 5) Profit. Реализация для писем: 1,2) Уже готово из предыдущего пункта. 3) Принимаем старую цену в контроллере письма. Если не false, то готовим строчное представление цены, иначе возвращаем false. 4) В шаблоне письма выводим старую цену. если она не false. 5) Profit.
  15. На закладке "Локлизация" в настройках магазина есть настройки модуля. Настройка называется - Акции на опции. при включении на опции будет сделана акция пропорционально акции на товар.
  16. Добрый день. Готового решения можете не найти. Если такие сложности с работой модулей на используемой темы. Могу сделать доработку для модуля обновления цены, но надо смотреть код темы. Скиньте пример карточки товара в личку. Т.к. по таким абстрактным вводным сложно что-то посоветовать.
  17. Товары сами по себе в корзине избыточны. Если переписать под задачу и минимизировать запросы ненужные, то что-то божеское можно получить. Без переписывания из коробки не потянет. Или сервер надо нехилый под это брать, что в принципе не правильно.
  18. Самое жестокое что делал - это нитки мулине. В корзине по несколько тысяч позиций. Переписывалась корзина почти полностью. И опции переписывал на урощённую логику. Т.к. со штатными запросами и кучей join это просто не летает нормально. В итоге всё пашет на виртуальном хостинге. И грузится страница довольно шустро. Делалось всё для 1.5 P.S: Время генерирования страницы товара 500ms. С количетвом опций >500 в карточке товара. Если всех позиций по 1 шт кинуть в корзину, то добавление порядка 5сек. Время генерирования корзины (симпла) с полным набором 5-6 сек.
  19. Если всё хорошо, и модуль не конфликтует ни с чем, то просто в карточке товара при выборе опции будет менятся основная цена товара. Как на демо: http://ocs2302.mpn-oc.org/test
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.