mpn2005

Пользователи
  • Число публикаций

    1 277
  • Регистрация

  • Последнее посещение

Репутация

322 Очень хороший

12 подписчиков

О mpn2005

  • Звание
    Продвинутый пользователь

Информация

  • Пол
    Мужчина

Недавние посетители профиля

15 697 просмотров профиля
  1. Я говорю, что из коробки не взлетит. И прилично пришлось переписать, что бы на виртуальном хостинге это работало. И только индексами и настройками не обойтись. Это на Ваше голословное заявляние, хоть 1000. В общем хватит оффтопить.
  2. Я как раз таки очень плотно с этим работал. И скажу Вам, что это не так всё весело, как кажется. Возьмите товаров с опциями и закиньте в корзину 100-300 штук. И штатный движок ляжет. Ну уж точно не потянет на виртуальном хостинге. Тут недавно проскакивала длинная тема по обсуждению этого вопроса.
  3. В общем тут много вопросов в реализации. И всё действительно зависит от множества факторов. Поэтому самое оптимальное вывести в корзине и глубже не лезть. Особенно если учесть всё нюансы упоминаемые в обсуждении. P.S.: Лишние запросы для такой сомнительной функции тоже не стоит добавлять в движок. Т.к. если будут кидать в корзину по 100 товаров, то тут и штатные запросы корзины придётся минимизировать. Но это касается магазинов с кучей мелких товаров.
  4. Не могу с этим согласиться. 1) Покупатель оформляет заказ. 2) Заказ создаётся с нулевым статусом. И покупатель перенаправляется в платёжную систему. 3) После успешной оплаты покупатель попадает на страницу завершения заказа. (тут сессия живая) 4) Платёжная система со своего сервера делает callback запрос для подтверждения оплаты. И при корректном key и всех данных, статус заказа меняется на оплаченный. Вот тут уже нет никакой сесии покупателя, это совсем отдельный запрос со своей сессией. И именно тут меняется статус заказа и отправляется письмо.
  5. Она то сохранится для покупателя. Но при приходе callback к сессии покупателя не будет доступа. А письмо уходит именно при приходе callback, если используется метод автоматической оплаты.
  6. В сессию не получится. От платёжки подтверждение идёт сосвем с другого адреса и будет другая сессия. Вообще согласен, задача весьма сомнительная.
  7. Да. Но есть ещё интервал ожидании оплаты. Теоретически может пройти некторое время до подтверждения заказа (пока проходит оплата). В этот момент могут поменятся цены акции, или пропасть акции. И на момент подтверждения данные будут не валидны. Поэтому всё же лучше сохранять копию данных, как это предусмотрено в движке.
  8. Точно. Запамятовал уже. Но более правильный вариант - это сохранить в таблице заказа акционную цену товара из корзины. Т.к. прямой запрос отрежет возможную совместимостть модулей влияющих на акции. Например модули - "Акции в процентах" и т.д.
  9. И нет смысла делать лиший запрос в catalog/model/checkout/order.php Т.к. там все данные достаются из корзины getProducts. И более правильный вариант - это реализовать на уровне корзины. И просто забирать данные из нужного поля.
  10. Обязательно. Т.к. ваше: '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 руб'
  11. Добрый день. Т.к. тема в разделе для разработчиков, опишу основной алогоритм. Реализация для корзины: 1) В либе корзины сохраняете цену товара до применения скидок и акций 2) В коде отдачи данных о товаре доавляете перменную old_price (название для примера). Если цена равна цене после обработки скидок и акций, то возвращаете false. 3) В контроллере корзины обрабатываете переменную из либы корзины. Если там не false, то готовите форматированную цену, иначе отаёте false 4) В шаблоне корзины, если не false, то выводите старую цену. 5) Profit. Реализация для писем: 1,2) Уже готово из предыдущего пункта. 3) Принимаем старую цену в контроллере письма. Если не false, то готовим строчное представление цены, иначе возвращаем false. 4) В шаблоне письма выводим старую цену. если она не false. 5) Profit.
  12. В файле catalog/controller/startup/startup.php Перед стокой: $this->registry->set('currency', new Cart\Currency($this->registry)); Добавить: $this->session->data['currency'] = 'RUB'; Вместо 'RUB' поставить свой код валюты. Можно и ранье вставлять данный код, но лучше что бы он был рядом с остальным кодом обработки валюты.
  13. На закладке "Локлизация" в настройках магазина есть настройки модуля. Настройка называется - Акции на опции. при включении на опции будет сделана акция пропорционально акции на товар.
  14. Добрый день. Готового решения можете не найти. Если такие сложности с работой модулей на используемой темы. Могу сделать доработку для модуля обновления цены, но надо смотреть код темы. Скиньте пример карточки товара в личку. Т.к. по таким абстрактным вводным сложно что-то посоветовать.
  15. Товары сами по себе в корзине избыточны. Если переписать под задачу и минимизировать запросы ненужные, то что-то божеское можно получить. Без переписывания из коробки не потянет. Или сервер надо нехилый под это брать, что в принципе не правильно.