Jump to content

indaled

Новичок
  • Content Count

    47
  • Joined

  • Last visited

Everything posted by indaled

  1. На OSStore3 будет версия в итоге?
  2. А жаль. Многим такой функционал жизненно необходим, скажем если бы была функция к которой можно было обратиться посредством cron - было бы супер.
  3. Возможно ли как то автоматизировать обновление text_id атрибутов? Очень неудобно обновлять в ручную, учитывая что товары добавляются из 1С автоматически..
  4. Вы не совсем поняли суть вопроса. Проблема в том что на последнем этапе оформления заказа (кнопка #button-confirm) не проводится верификация на наличие товаров находящихся в корзине к реальному наличию, соот-но если кто то оформлял заказ с вами параллельно, то вы можете заказать единицу которой в наличии реально нет. Проблему решил следующим образом (вдруг кому пригодится). 1. Добавляем в контроллер используемого payment (по дефолту cod.php, но может быть и другой если настраивали оплату) в функцию confirm валидацию корзины условием выполнения. Соответственно должно получиться как то так: public function confirm() { if ((!$this->cart->hasProducts() && empty($this->session->data['vouchers'])) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) { $redirect = $this->url->link('checkout/cart'); $json['redirect'] = $redirect; $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } else { if ($this->session->data['payment_method']['code'] == 'cod') { $this->load->model('checkout/order'); $this->model_checkout_order->addOrderHistory($this->session->data['order_id'], $this->config->get('cod_order_status_id')); } } } 2. В tpl файле того же метода оплаты (в данному случае дефолтный cod.tpl) меняем ajax запрос с учетом проверки json на предмет наличия там условия редиректа в корзину: <div class="buttons"> <div class="pull-right"> <input type="button" value="<?php echo $button_confirm; ?>" id="button-confirm" class="btn btn-primary" data-loading-text="<?php echo $text_loading; ?>" /> </div> </div> <script type="text/javascript"><!-- $('#button-confirm').on('click', function() { $.ajax({ type: 'get', url: 'index.php?route=extension/payment/cod/confirm', cache: false, beforeSend: function() { $('#button-confirm').button('loading'); }, complete: function() { $('#button-confirm').button('reset'); }, success: function(json) { if(json['redirect']) { location = json['redirect']; } else { location = '<?php echo $continue; ?>'; } } }); }); //--></script> Теперь при нажатии кнопки "подтверждение заказа" проходит еще одна валидация, которая не допустит проблемы с минусовым наличием.
  5. Добрый день! Вопрос на форуме поднимался пару раз но ответа так никто и не дал. Ситуация: 2 человека примерно в одно время добавляют товар с наличием 1шт в корзину. Даже если в настройках запрещено продавать товар с нулевым остатком они могут это сделать. Соответственно далее на этапе оформления заказа они опять таки оба (а их может быть и больше) могут купить этот товар. В итоге мы получаем наличие "-1 шт" и недостаток товаров на складе. Происходит (насколько я понимаю) это потому что проверка наличия идет на этапе добавления в корзину, а списывание товара со склада только на этапе оформления заказа, соот-но все кто добавил товар в корзину до момента когда последняя единица товара была списана могут так же оформить свой заказ и вывести наличие в минус. Решение вижу в том чтобы при отправке заказа так же проверять весь список товаров на текущее наличие на складе. Вопрос простой: как быть!? Версия движка любая (ранее вопрос поднимался и про OS 1.5 и про 2.0, в моем случае 2.3)
  6. Действительно, слона то я и не приметил))) Ну зато разобрался в системе таблиц и методологии работы модуля. Спасибо!
  7. Речь о том чтобы показывать именно наличие по конкретной связанной опции. В принципе практически допилил сам. Порядок действий примерно следующий: 1. Вытаскиваем из таблицы oc_relatedoptions по полю product_id значения relatedoptions_id и quantity 2. Вытаскиваем из таблицы oc_relatedoptions_option связку relatedoptions_id с option_value_id 3. При выводе опций в product.tpl из таблицы oc_product_option_value вытаскиваем 2 значения product_option_value_id (по умолчанию выводится в значениях опций) и option_value_id (чтобы сравнивать со значениями пункта 2). По индексу product_option_value_id сравниваем с тем что есть в опциях и записываем соответствующий option_value_id в опцию. 4. Фронт часть на JS. Имея связку option_value_id от каждой опции и данные из п2. Определяем текущий relatedoptions_id (для конкретной выбранной связянной опции) и по нем подтягиваем quantity, которым в свою очередь заменяем стандартное поле opencarta. Не самый простой допил, но если очень приспичит, то можно)
  8. Поддерживаю вопрос, очень нужно!
  9. Видимо я немного неправильно про доставку выразился: разумеется никакой карточки товара для нее не было, все шло по стандартному сценарию opencarta, доставка уходила в файл обмена уже на этапе формирования этого самого файла. Решение строго частное, для широкой массы оно не подойдет, тк сильно допиливали сторону 1С чтобы адекватно работало. Все что про модуль написано - в целом верно. Проблема в том, что альтернатив все равно нет У того же битрикса те же самые проблемы, у WP WOO вообще на пару порядков хуже дела обстоят, другие платформы я не знаю, но думаю что принципиально лучше дело нигде не обстоит. Другие готовые плагины для OS тоже не блещут - везде куча косяков и постоянная альфа, только еще за деньги (причем немалые в ракурсе того, что это готовый модуль) и разработчику работать с ними сложнее чем с модулем Виталия. Модуль на данном этапе не для конечника, а для опытного разработчика, который готов долго и упорно пилить индивидуальные решения. Разумеется цена внедрений высока и далеко не каждый владелец готов их оплачивать
  10. Я занимаюсь коммерческой индивидуальной разработкой и каждого клиента свои требования. Допилить модуль до конкретной задачи - сложно, но можно, намного сложнее сделать его общедоступным и применимым - тут моих навыков не хватит Вопрос по доставке вставал только 1 раз, решили его путем перевода доставки в услугу с индивидуальным ценообразованием, при генерации заказа она (доставка) добавлялась как товар, а 1с-ом съедалась как услуга. В итоге в заказе значились товары и доставка со стоимостью. PS в описании методологии возможна ошибка, файлов у меня нет, поэтому восстановил схему по памяти))) Сейчас вот будем решать вопрос со связанными опциями, Виталий до них доберется очевидно нескоро, а решение нужно вчера...
  11. Я использую модуль на нескольких рабочих сайтах и у всех все прекрасно работает. Вопрос в том что на данный момент это не готовый модуль а по сути такой себе фреймворк который без допилов малопригоден Но если у Вас есть минимальные знания в PHP и 1С то никаких проблем допилить..
  12. Всем привет! Есть решение адекватное по связанным опциям? Подойдет любой вариант, как с доработкой 1С с созданием там связанных опций (в дефолтной версии таковых нет), так и вариант когда каждый товар отдельно, а в связанные опции они объединяются по какому нибудь тегу подобия. Мб кто делал с модулем "связанные опции"? Если требуется например только наличие и цену обновлять, сработает ли синхронизация опция->товар (по артикулу), если у каждой опции свой артикул, а в 1С каждый товар отдельно с соот-им артикулом.
  13. удалось частично решить вопрос, в private function parseProducts($xml, $classifier) дописал вот такой код: // Сопутствующие if ($product->Сопутствующие) { $data['related'] = array(); $data['related'] = $product->Сопутствующие; $el=''; foreach($data['related']->СопутствующийТовар as $el) { $this->query("INSERT INTO `oc_product_related` SET `product_id` = '" . $this->getProductIdByGuid($product->Ид) . "', `related_id` = '" . $this->getProductIdByGuid($el['Ид']) . "'"); } } В целом все вроде работает, сопутствующие товары добавляются, но после этой вставки начала происходить какая то вакханалия, некоторые товары перестали попадать в выгрузку без объяснения причин. Подозреваю что пользоваться getProductByGuid таким варварским способом нельзя. Так же не могу придумать в какое место запихать запрос на очистку таблицы oc_product_related. Очень хочу помощи, мои знания PHP не дают довести до ума
  14. Виталий, доброго вечера! Есть потребность в реализации отключения пустых категорий. Как вариант отключать их уже на самом сайте, но очень перегружает лишними запросами к БД. Возможно ли реализовать на этапе импорта?
  15. Реализовал на 2 сайтах, создав 2 вида цен в 1С и определив один как основной, а второй как акционный. Вроде проще некуда
  16. Можно подробнее, у меня тоже такая проблема, SEO модуля не стоит. Ошибку выдает везде где значится unit_id и тп колонки из этой таблицы в БД. У меня такая же проблема в 12 версии. Как решить глобально не придумал, но смог сделать временную заплатку: В файле system/storage/modificator/catalog/checkout/cart.php в районе 354 строчки нужно удалить аргумент unit_id. Корзина начинает работать, однако при обновлении модификаторов все ломатется вновь.
  17. Его не нужно устанавливать в самих модулях. Ставишь через установщик, обновляешь модификатор, добавляешь права и все работает
×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.