Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

vadshesh

Новичок
  
  • Публикаций

    12
  • Зарегистрирован

  • Посещение

Посетители профиля

726 просмотров профиля

Достижения vadshesh

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Последние медали

0

Репутация

  1. Уважаемые коллеги, задача состоит в следующем - нужно в скрипте приема уведомлений Яндекс-платежей вызвать public function confirm($order_id, $order_status_id, $comment = '', $notify = false) класса class ModelCheckoutOrder extends Model (это catalog/model/checkout/order.php). Пишу так: require_once('system/startup.php'); require_once('catalog/model/checkout/order.php'); $order = new ModelCheckoutOrder(); //$order->getOrder($r['order_id']); //$order->confirm($r['order_id'], 17); //ModelCheckoutOrder::confirm($r['order_id'], 17); $r['order_id'] - ИД заказа (оно выбирается из БД), 17 - ИД статуса оплаченного заказа.Если откомментить любую из строк, выдается ошибка 500.Подскажите, пожалуйста, как это правильно сделать?Спасибо!
  2. Скажите, а в скрипте system/library/cart.php (в вашей версии) опции записываются так: public function add($product_id, $qty = 1, $option, $profile_id = '') { $key = (int) $product_id . ':'; if ($option) { $key .= base64_encode(serialize($option)) . ':'; } else { $key .= ':'; } if ($profile_id) { $key .= (int) $profile_id; } if ((int) $qty && ((int) $qty > 0)) { if (!isset($this->session->data['cart'][$key])) { $this->session->data['cart'][$key] = (int) $qty; } else { $this->session->data['cart'][$key] += (int) $qty; } } $this->data = array(); } ?
  3. Уважаемые коллеги, помогите, пожалуйста, разобраться с такой проблемой. Есть страница товара http://рыболовные-мушки.рф/Рыболовная-мушка-"Палмер- Синель"-p3.html. Там есть селекты цвета и размера, которые не добавляются вместе с товаром в корзину. В хтмл они описаны так: <select name="option[3]" data-id="3" onchange="changeChoice()"class="serequired"> <option value=""> --- Выберите --- </option> <option value="27">10 Черный / Гризли</option> .......................... </select> и <select name="option[4]" data-id="4" onchange="changeChoice()"class="serequired"> <option value=""> --- Выберите --- </option> <option value="30">10</option> <option value="32">12</option> <option value="31">14</option> </select> Кнопка "Купить": <input type="button" value="Купить" id="button-cart" class="button"onclick="addToCart('3');"> В common.js function addToCart(product_id, quantity) { quantity = typeof(quantity) != 'undefined' ? quantity : 1; console.log('click cart'); $('.vserror').remove(); p=0; $(".serequired").each(function() { if($(this).val()=='') { b=$(this).prev().prev().html(); $(this).after('<div class="vserror">Поле '+b+'должно быть заполнено!</div>'); p=1; } }) if(p!=0)return false; $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: 'product_id=' + product_id + '&quantity=' + quantity, dataType: 'json', success: function(json) { $('.success,.succesv, .warning, .attention, .information, .error').remove(); if(json.error != null && json.error.option != null) { for(var ii in json.error.option) { c="*[name='option["+ii+"]']"; b=".option[id='option-"+ii+"']"; if($(c).val()=='')$(b).after('<div class="vserror">'+json.error.option[ii]+'</div>'); } } else { if (json['redirect']) { location = json['redirect']; } if (json['success']) { $('#notification').html('<div class="succesv">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>'); //$('.success').show('slow'); $('#cart-total').html(json['total']); $("#cartcons").html(json.totaltop); // $('html, body').animate({ scrollTop: 0 }, 'slow'); } } } }); } А где же здесь передача этих опций? Причем в чистом двиге та же самая ерунда... Но идем в контроллер checkout/cart.php function add(). Тут написано: if (isset($this->request->post['option'])) { $option = array_filter($this->request->post['option']); } else { $option = array(); } т.е. опций должны "поститься" аяксом. Но в каком виде? Ниже по коду написано: $this->cart->add($this->request->post['product_id'], $quantity, $option, $profile_id); А сама эта публичная функция описана так: public function add($product_id, $qty = 1, $option, $profile_id ='') { $key = (int) $product_id . ':'; if ($option) { $key .= base64_encode(serialize($option)) . ':'; } else { $key .= ':'; } if ($profile_id) { $key .= (int) $profile_id; } if ((int) $qty && ((int) $qty > 0)) { if (!isset($this->session->data['cart'][$key])) { $this->session->data['cart'][$key] = (int) $qty; } else { $this->session->data['cart'][$key] += (int) $qty; } } $this->data = array(); } Так вот вопрос: в каком виде я должен "аяксить" опции в common.js в addToCart, чтобы они верно располагались в корзине, а потом и в заказе? Большое спасибо!
  4. А я бы взялся за это дело. Позволю себе не согласиться с OC Team - в том-то и штука, что за $200+ можно и нужно сделать качественный продукт. Вопрос в ясности задачи, нужно ли торопиться в ее выполнении, и в смекалке программиста )))))))) Пишите в личку - будем обсуждать.
  5. Можем обсудить список работ по магазину, кроме тех предупреждений, что выдаются сейчас. Пишите в личку.
  6. Насчет шаблона не скажу, я не верстальщик. Хотя если шаблон готов, то натянуть можно. А вот добавление посетителями товаров в магазин и сортировку сделать можно - надо только обсудить детали.
  7. А что-то типа <ifmodule mod_headers.c> # 30 days - <filesmatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$"> Header set Cache-Control "max-age=2592000, public" </filesmatch> # 30 days <filesmatch "\.(css|js)$"> Header set Cache-Control "max-age=2592000, public" </filesmatch> # 2 days - in seconds <filesmatch "\.(xml|txt)$"> Header set Cache-Control "max-age=172800, public, must-revalidate" </filesmatch> </ifmodule> в .htaccess не помогает?
  8. Готов к сотрудничеству. Опыт в программировании - 17 лет, opencart - более скромный - 1 год. Из разработок https://opencartforum.com/files/file/2259-cookie-для-зарегестрированных-пользователей/
  9. Если задачу еще не решили, могу попытаться ее решить
  10. Всем спасибо! Ошибка была связана с путаницей входа на фтп.
  11. Сразу скажу, что я новичок в ОпенКарте да и вообще в MVCL А вопрос такой. Я настроил дополнение webmoney_wmr в админке и начал тестировать его с боевой стороны. Потом внес свои дополнения в код контроллера для изучения некоторых его параметров. При работе с этим моим блоком я получил ряд предупреждений. Выяснив нужные параметры, я удалил свои правки в контроллере, а предупреждения остались. Это как? Я даже удалял контроллер webmoney_wmr, а оно все-равно выдает предупреждения. Чистил кэш броузера и одноименную папку на фтп - ничего не помогает. Для конкретности - зайдите на http://2.zulu01.z8.ru/ забросьте что либо в корзину и начните оформлять заказ. В шаге 1 укажите оформление без регистрации. В ш.2 введите любые данные. В ш. 5 укажите wmr. Тогда в секции ш.6 будет Notice: Undefined variable: out in /home/zulu01/www/site2/public_html/catalog/controller/payment/webmoney_wmr.php on line 28Notice: Trying to get property of non-object in /home/zulu01/www/site2/public_html/catalog/controller/payment/webmoney_wmr.php on line 31Warning: reset() expects parameter 1 to be array, null given in /home/zulu01/www/site2/public_html/catalog/controller/payment/webmoney_wmr.php on line 32Warning: key() expects parameter 1 to be array, null given in /home/zulu01/www/site2/public_html/catalog/controller/payment/webmoney_wmr.php on line 32 Хотя в строчках 28, 31 и 32 этого кода нет. Пичем в .htaccess я явно запретил кэширование. Объясните мне, пожалуйста, как с этим справится?
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.