Есть таблица shop_order, в этой таблице данные о заказах за исключением количества (поле quantity), количество находится в другой таблице - shop_order_items. Нужно значению total передать количество из соседней таблицы.
$order_model = new shopOrderModel(); // дефолтная модель
$order = $order_model->getOrder($order_id);
$quants_model = new shopOrderItemsModel(); // дефолтная модель с количеством
$quants = $quants_model->getItems($order_id); - не работает почему то...
$vmesteCheck = false;
foreach($order['items'] as $item) {
if($item['sku_code'] != $this->plugin->getSettings('skuCodeIdentifier')) {
$vmesteCheck = false;
break;
}
$vmesteCheck = true;
}
if ($vmesteCheck && $order['state_id']=="paid" || $order['state_id']=="new" || $order['state_id']=="processing") {
$data = array(
'order_id' => $order['id'],
'contact_id' => $order['contact_id'],
'datetime' =>date('Y-m-d H:i:s'),
'total' => $quants['quantity'], //$order['total']
'status' => "processing",
);
'total' => $quants['quantity'] - тут раньше выводилась цена. ($order['total']). Сейчас нужно передать количество.
//Модель shopOrderItemsModel
public function getItems($order_id, $extend = false)
{
if (!$extend) {
return $this->getRawItems($order_id);
}
$order = $this->getOrder($order_id);
$data = array();
$type = null;
foreach ($this->getRawItems($order['id']) as $item) {
if ($item['type'] == 'product') {
$sku_id = $item['sku_id'];
$product = &$data[];
$product = $this->getProductInfo($item['product_id'], $sku_id, $order['id']);
if (empty($product)) {
$product = array(
'id' => $item['product_id'],
'fake' => true,
'skus' => array(),
'currency' => $order['currency'],
);
}
if (!isset($product['skus'][$sku_id])) {
unset($product['skus']);
$product['skus'][$sku_id] = array(
'id' => $sku_id,
'fake' => true
);
} else {
$product['skus'][$sku_id]['price'] = $item['price'];
}
$product['item'] = $this->formatItem($item);
if (!empty($product['fake'])) {
$product['price'] = $product['item']['price'];
}
if (!empty($product['skus'][$sku_id]['fake'])) {
// parse string looks like this "ProductName (SkuName)"
if (preg_match('!\(([\s\S]+)\)$!', $product['item']['name'], $m)) {
// fake means deleted
$name_of_fake_sku = $m[1];
if ($product['item']['sku_code']) {
$name_of_fake_sku .= ' ('.$product['item']['sku_code'].')';
}
} else {
$name_of_fake_sku = $product['item']['sku_code'];
}
$product['skus'][$sku_id]['name'] = $name_of_fake_sku;
}
}
$service_id = $item['service_id'];
$service_variant_id = $item['service_variant_id'];
if ($item['type'] == 'service') {
if (!isset($product['services'][$service_id]['variants'][$service_variant_id])) {
$product['services'][$service_id] = array(
'id' => $service_id,
'name' => '',
'fake' => true,
'variant_id' => '',
'variants' => array(),
'currency' => $order['currency'],
);
}
$product['services'][$service_id]['item'] = $this->formatItem($item);
if (!empty($product['services'][$service_id]['fake'])) {
$product['services'][$service_id]['price'] = $product['services'][$service_id]['item']['price'];
}
}
if (empty($product['fake'])) {
$this->workupProduct($product, $order);
}
}
return $data;
}
'total' => $order['quantity'], - запись была бы такая, если бы количество (quantity) было в таблице shop_order
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня есть форма регистрации, получается клиент наполняет эту форму, и в конце калькулятор вычитывает сумму которую клиент должен оплатить,...
Подскажите пожалуйста, нужно из таблицы shop_order_items передать в таблицу shop_vmeste_order значение поля quantityПередать его нужно в поле total
Есть блоки, которые генерируются foreach по WP_QueryОграничил вывод до штук