diff --git a/doc/FAQ/FAQ.md b/doc/FAQ/FAQ.md index 40164b0..81e2fec 100644 --- a/doc/FAQ/FAQ.md +++ b/doc/FAQ/FAQ.md @@ -27,8 +27,7 @@ Для запуска выгрузки нужно:
-1. В корневой директории вашего сайта (по умолчанию - */var/www/html*) разместить указанный ниже скрипт: -**upload_to_crm.php** *(название файла)*
+1. В корневой директории вашего сайта (по умолчанию - */var/www/html*) разместить файл **upload_to_crm.php** и вставить в него код: ``` +2. После чего в командной строке ввести команду для запуска скрипта:
> php upload_to_crm.php --entity=orders/customers/full_upload --page=номер страницы @@ -44,17 +43,17 @@ do_action("wp_console_upload", $options['entity'] ?? '', (int)$options['page'] ? **--entity**: Указывает, какие данные выгружать. Возможные значения: -- **orders**: архивные заказы -- **customers**: архивные клиенты -- **full_upload**: выгрузка всех заказов и всех клиентов (весь архив). +- **orders**: архивные заказы; +- **customers**: архивные клиенты; +- **full_upload**: полная выгрузка всех заказов и клиентов (весь архив). -**--page**: Указывает номер страницы для выгрузки. Каждая страница содержит 50 заказов или клиентов, начиная с 0.
+**--page**: Указывает номер страницы для выгрузки. Каждая страница содержит 50 заказов или клиентов. Нумерация страниц начинается с 0.
Пример: > php upload_to_crm.php --entity=orders --page=3 -В этом примере будет выгружен архив заказов, начиная с 3-й страницы (по сути, с 201-го по 250-й заказ, поскольку на каждой странице по 50 заказов). Стартовая страница — 0. +В этом примере будет выгружен архив заказов, начиная с 3-й страницы. **Работа с зонами доставки** *(WooCommerce - Настройки - Доставка - Зоны доставки)* diff --git a/src/include/class-wc-retailcrm-uploader.php b/src/include/class-wc-retailcrm-uploader.php index ba30157..7d931d6 100644 --- a/src/include/class-wc-retailcrm-uploader.php +++ b/src/include/class-wc-retailcrm-uploader.php @@ -237,11 +237,8 @@ if (class_exists('WC_Retailcrm_Uploader') === false) { public function uploadConsole($entity, $page = 0) { - $ordersCount = $this->getCountOrders(); - $customerCount = $this->getCountUsers(); - - $ordersPages = (int)($ordersCount / 50) + (($ordersCount % 50 === 0) ? -1 : 0); - $customerPages = (int)($customerCount / 50) + (($customerCount % 50 === 0) ? -1 : 0); + $ordersPages = ceil($this->getCountOrders()/50); + $customerPages = ceil($this->getCountUsers()/50); try { switch ($entity) { @@ -265,14 +262,15 @@ if (class_exists('WC_Retailcrm_Uploader') === false) { public function archiveUpload($entity, $page, $countPages) { - for ($i = $page; $i <= $countPages; $i++) { + do { if ($entity === 'orders') { - $this->uploadArchiveOrders($i); + $this->uploadArchiveOrders($page); } elseif ($entity === 'customers') { - $this->uploadArchiveCustomers($i); + $this->uploadArchiveCustomers($page); } echo $page . ' page uploaded' . PHP_EOL; - } + $page++; + } while (true); } } }