new shopOrder Есть решение
Что я делаю не так?
$orderData = array(
'currency' => 'RUB',
'customer' => array(
'firstname' => 'Заказ Тестовый',
'address.shipping' => array(
'country' => 'rus',
'street' => 'г Москва, Пресненский р-н, ул Тестовская, д 1А, кв. 1',
),
),
'items' => array(
0 => array(
'product_id' => '349',
'sku_id' => '431',
'type' => 'product',
'price' => 25899,
'quantity' => 1,
'currency' => 'RUB',
),
1 => array(
'product_id' => '349',
'sku_id' => '431',
'type' => 'product',
'price' => 25899,
'quantity' => 1,
'currency' => 'RUB',
),
),
'params' => array(
'shipping_currency' => 'RUB',
'shipping_currency_rate' => '1',
),
);
$order = new shopOrder($orderData);
$order->save();
Получаю предупреждения
Notice: Undefined index: currency in /public_html/wa-apps/shop/lib/workflow/shopWorkflowCreateAction.class.php on line 255 Notice: Undefined index: currency in /public_html/wa-apps/shop/lib/workflow/shopWorkflowCreateAction.class.php on line 256 Notice: Undefined index: currency in /public_html/wa-apps/shop/lib/workflow/shopWorkflowCreateAction.class.php on line 258

И что же в $item?
array(
0 => array(
'type' => 'product',
'service_id' => NULL,
'service_variant_id' => NULL,
'_index' => '0',
'price' => '15745',
'quantity' => 1,
'product_id' => 352,
'sku_id' => 441,
'stock_id' => NULL,
'name' => 'Двухколесное моноколесо Airwheel Q3 (340WH BLACK)',
'purchase_price' => '0',
'sku_code' => 'мм-441',
'sku_name' => '340WH BLACK',
'sku' => array(
'id' => '441',
'product_id' => '352',
'sku' => 'мм-441',
'sort' => '6',
'name' => '340WH BLACK',
'image_id' => '797',
'price' => '31490.0000',
'primary_price' => '31490.0000',
'purchase_price' => '0.0000',
'compare_price' => '0.0000',
'count' => '-2',
'available' => '1',
'dimension_id' => NULL,
'file_name' => '',
'file_size' => '0',
'file_description' => '',
'virtual' => '0',
),
'product' => array(
'id' => '352',
'name' => 'Двухколесное моноколесо Airwheel Q3',
'summary' => 'Моноколесо с максимальной устойчивостью',
'meta_title' => '',
'meta_keywords' => '',
'meta_description' => '',
'description' => '<p><span style="color: rgb(170, 0, 0);"><strong>- Доставка Бесплатно </strong><strong>Сегодня!</strong><strong>
</strong><strong><strong>- Скидки, Подарки на 1000 руб.
</strong></strong></span><strong><span style="color: rgb(170, 0, 0);">- Курьер принимает карты!*</span></strong><strong> </strong><strong> </strong> </p>
<p>*При наличии свободных курьеров, Москва и Санкт-Петербург МКАД (КАД)+30 км. Оплата курьеру Visa(Mastercard) без комиссии или наличные.</p>
<p>Вы можете <strong>купить Моноколесо Airwheel Q3 </strong>и получить официальную гарантию 12 месяцев</p>
<h2>Описание Моноколесо Airwheel Q3</h2>
<p>Максимальная скорость - 18 км/ч</p>
<p>Максимальная нагрузка - 120 кг.</p>
<p>Вес - 13,7 кг.</p>
<p>Расстояние на одном заряде - 18-23 км.</p>
<p>Зарядка аккумулятора емкостью 130 Вт*ч – 90 минут</p>
<p>Зарядка аккумулятора емкостью 170 Вт*ч – 120 минут</p>
<p>130 Вт*ч приблизительно 90 мин (80% зарядки за 60 мин)</p>
<p>170 Вт*ч приблизительно 120 мин (80% зарядки за 90 мин)</p>
<p>260 Вт*ч приблизительно 180 мин (80% зарядки за 120 мин)</p>
<p>Airwheel Q3 – флагманская модель моноколеса, со сдвоенной колесной конструкцией. Такая конструкция обеспечивает максимальную устойчивость и безопасность во время катания. Модель выполнена из высококачественных материалов, устойчивых к ударам и царапинам, а также имеет защиту от попадания пыли влаги. Удобная конструкция делает Airwheel Q3 максимально удобной для хранения и транспортировки. Модель станет идеальным выбором для тех, кто хочет получить максимум от использования моноколеса</p>',
'contact_id' => '1',
'create_datetime' => '2017-05-05 15:55:18',
'edit_datetime' => '2018-05-12 11:51:27',
'status' => '1',
'type_id' => '8',
'image_id' => '797',
'image_filename' => '',
'video_url' => NULL,
'sku_id' => '437',
'ext' => 'jpg',
'url' => 'dvukhkolesnoe-monokoleso-airwheel-q3',
'rating' => '0.00',
'price' => '24990.0000',
'compare_price' => '0.0000',
'currency' => 'RUB',
'min_price' => '24990.0000',
'max_price' => '31490.0000',
'tax_id' => '0',
'count' => '0',
'cross_selling' => NULL,
'upselling' => NULL,
'rating_count' => '0',
'total_sales' => '31490.0000',
'category_id' => '55',
'badge' => '<div class="badge" style="background-color: #ffb624;">Бесплатная доставка</div>',
'sku_type' => '0',
'base_price_selectable' => '0.0000',
'compare_price_selectable' => '0.0000',
'purchase_price_selectable' => '0.0000',
'sku_count' => '6',
'url_crop_small' => '/wa-data/public/shop/products/52/03/352/images/797/797.48x48.jpg',
),
'tax_id' => 0,
'total_discount' => 0,
),
)
То есть предположительно проверять нужно $item['product']['currency'] или я что-то делаю не так )
Эта тема в архиве. Добавление комментариев к ней отключено.










2 ответа
Баг! В этом месте должна быть проверка на существование ключа, что-то вроде
foreach ($data['items'] as &$item) { $item['currency'] = ifempty($item, 'currency', $currency); // <<<< this if ($currency != $item['currency']) {Исправим следующим релизом.
Мы выпустили обновление Shop-Script с исправлением этой ошибки. Обновление можно установить в «Инсталлере».
Проверьте, пожалуйста. Сообщите нам, если проблема сохранилась.