-
Posts
25 -
Joined
-
Last visited
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
andreyegorov1987's Achievements
-
[Поддержка] Ocionic - инструменты для разработчиков
andreyegorov1987 replied to ocionic's topic in Модули и дополнения
Нет причина не в этом, возможно кроме этого тестового модуля для опенкарт нужно что-то еще развернуть ? -
[Поддержка] Клуб Підписників
andreyegorov1987 replied to MKaizer's topic in Бонусы, купоны, программы лояльности
А как будет срабатывать модуль на акционные товары которые стоят на скидке ? -
[Поддержка] Ocionic - инструменты для разработчиков
andreyegorov1987 replied to ocionic's topic in Модули и дополнения
Установил я тестовый модуль и скачело демо приложение, что бы потестить а оно пишет еще модуль апи нужен где его взять ? -
[Поддержка] Ocionic - инструменты для разработчиков
andreyegorov1987 replied to ocionic's topic in Модули и дополнения
Тестовый модуль на опенкарт 3 не работает. Из меню ничего не открывает на опенкарт 3 -
andreyegorov1987 changed their profile photo
-
TgMarket - Модуль інтернет магазину у телеграмі.
andreyegorov1987 reviewed Rassol2's file in Social Networks
-
Torgsoft+Opencart3+Glovo
andreyegorov1987 replied to andreyegorov1987's topic in Opencart 3.x: Sandbox
Glovo (процесс наработки, получилось выгрузить пока на свой сфтп, на их еще не пробовал), torgsoft не может формировать первую колонку в c заданным значением, в нашем случае id который дает GLOVO. Значит настраиваем выгрузку для каждой точки продаж по ftp к нам на сайт и пишем скрипт который будет добавлять нужный id по спецификации Glovo и отправлять на их SFTP по запросу из Torgsoft после выгрузки. магазин.php ----------------------------------------------------------------------------------------- <?php // выполняем код // путь к файлу CSV $file_path = '/sites/мой_сайт.юа/image/catalog/torgsoft/glovo-lyst.csv'; // определение кодировки и разделителя $handle = fopen($file_path, 'r'); $first_line = fgets($handle); fclose($handle); $delimiter = ','; // задайте нужный разделитель $encoding = mb_detect_encoding($first_line, 'UTF-8, Windows-1251'); // задайте подходящую кодировку // чтение файла и изменение содержимого $data = array(); $row = 0; if (($handle = fopen($file_path, 'r')) !== false) { while (($csv_data = fgetcsv($handle, 1000, ";")) !== false) { $num = count($csv_data); for ($c = 0; $c < $num; $c++) { $csv_data[$c] = mb_convert_encoding($csv_data[$c], 'UTF-8', $encoding); } if ($row == 0) { // изменение заголовка первой колонки $csv_data[0] = 'Новый заголовок'; } else { // изменение значения первой колонки $csv_data[0] = 'Новое значение'; } // замена запятой на точку в числовых значениях for ($c = 0; $c < $num; $c++) { if (is_numeric($csv_data[$c])) { $csv_data[$c] = str_replace(',', '.', $csv_data[$c]); } } $data[] = $csv_data; $row++; } fclose($handle); } // сохранение файла с новым разделителем $file_name = 'new_file_'.date('Ymd_Hi_s').'.csv'; $file_path = '/sites/мой_сайт.юа/image/catalog/torgsoft/'.$file_name; $handle = fopen($file_path, 'w'); foreach ($data as $csv_data) { $line = implode($delimiter, $csv_data) . "\n"; fwrite($handle, $line); } fclose($handle); // отправка файла по SFTP $sftp_server = 'глово_сфтп'; $sftp_username = 'логин'; $sftp_password = 'пароль'; $sftp_path = 'путь_кототый они дают' . $file_name; $local_path = $file_path; $connection = ssh2_connect($sftp_server); ssh2_auth_password($connection, $sftp_username, $sftp_password); $sftp = ssh2_sftp($connection); $stream = fopen("ssh2.sftp://{$sftp}{$sftp_path}", 'w'); if ($stream) { $contents = file_get_contents($local_path); fwrite($stream, $contents); fclose($stream); echo "Файл успешно загружен на SFTP сервер\n"; unlink($local_path); } else { echo "Ошибка загрузки файла на SFTP сервер\n"; } -
Torgsoft+Opencart3+Glovo
andreyegorov1987 replied to andreyegorov1987's topic in Opencart 3.x: Sandbox
Инструкция автоматической выгрузки заказов в Torgsoft с Opencart. ------------------------------------------------------------------------------------------------------------- orders.php (сохраняем выгруженный файл XML с форматом торгсофта по их спецификации) ----------------------------------------------------------------------------------------------------------- <?php // настройки подключения к базе данных $db_hostname = 'localhost'; $db_username = 'пользователь'; $db_password = 'пароль к базе'; $db_database = 'база данных'; $db_prefix = 'oc_'; // префикс таблиц базы данных // получаем данные о заказе из базы данных $db = new mysqli($db_hostname, $db_username, $db_password, $db_database); if ($db->connect_error) { die('Ошибка подключения к базе данных: ' . $db->connect_error); } $sql = "SELECT * FROM `" . $db_prefix . "order` ORDER BY `order_id` DESC LIMIT 1"; $result = $db->query($sql); if (!$result) { die('Ошибка запроса к базе данных: ' . $db->error); } if ($result->num_rows == 0) { echo "Заказы не найдены в базе данных"; } else { // Обрабатываем все заказы, полученные из запроса SQL while ($order_data = $result->fetch_assoc()) { // Получаем данные о товарах из таблицы `oc_order_product` $sql = "SELECT * FROM `" . $db_prefix . "order_product` WHERE order_id = " . $order_data['order_id']; $product_result = $db->query($sql); // формируем XML-документ для каждого заказа $xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><Order></Order>'); $client = $xml->addChild('Client'); $client->addChild('Name', $order_data['firstname'] . ' ' . $order_data['lastname']); $client->addChild('MPhone', $order_data['telephone']); $client->addChild('CPhone', $order_data['fax']); $client->addChild('ZIP', $order_data['postcode']); $client->addChild('Country', $order_data['payment_country']); $client->addChild('Region', $order_data['payment_zone']); $client->addChild('City', $order_data['payment_city']); $client->addChild('Address', $order_data['payment_address_1'] . ' ' . $order_data['payment_address_2']); $client->addChild('EMail', $order_data['email']); $options = $xml->addChild('Options'); $options->addChild('SaleType', 1); $options->addChild('Comment', $order_data['comment']); $options->addChild('OrderNumber', $order_data['order_id']); $options->addChild('DeliveryCondition', $order_data['shipping_method']); $options->addChild('ReserveDate', date('Ymd', strtotime($order_data['date_added']))); $options->addChild('BonusPay', $order_data['reward']); $options->addChild('OrderDate', $order_data['date_added']); $options->addChild('CurrencyInternationalCode', $order_data['currency_code']); $goods = $xml->addChild('Goods'); while ($product_data = $product_result->fetch_assoc()) { $good = $goods->addChild('Good_' . ($product_data['product_id'])); $good->addChild('GoodID', $product_data['model']); $good->addChild('Price', $product_data['price']); $good->addChild('Count', $product_data['quantity']); } $xml_file = __DIR__ . '/order_' . $order_data['order_id'] . '.xml'; } $xml->asXML($xml_file); $result->free_result(); $db->close(); } ?> ------------------------------------------------------------------------------------------------------------------ /сайт.юа/image/catalog/torgsoft/ Копируем orders.php сюда, меняем внутри доступ ------------------------------------------------------------------------------------------------------------------ Дальше с модулем Simple меняем...... -------------------------------------------------------------------------------------------------------------- /мой_сайт.юа/catalog/controller/checkout/success.php /storage/modification/catalog/controller/checkout/success.php Вставляем require_once(DIR_IMAGE . 'catalog/torgsoft/orders.php'); перед $this->response->setOutput($this->load->view('common/success', $data)); В конце файла ------------------------------------------------------------------------------------------------------------ В итоге имеем после оформления заказа сораняется файл с заказом в каталоге с файлом импорта товаров. Заказы забираются торгсофтом после синхронизации и появляются в заказе удаленного клиента. В тогсофте обязательно не забыть выставить XML для заказов. После синхронизации торгсофт удаляет файлы заказов (безопасно) -
andreyegorov1987 started following Модуль импорта из XLS в нестандартные таблицы and Torgsoft+Opencart3+Glovo
-
Тему создал для себя, что бы не забыть наработки может кому и пригодится, синхронизация с торгсофтом, все нюансы которые мне приходится решать, может кто-то присоединится
-
Напишу сюда, интересует этот модуль очень, но не даёт пока автоматизация синхронизации. Товары в магазине обновляются каждый час, как это реализовать, через какой модуль дополнительный ? Я готов и его купить, вопрос существует ли он в природе ? Как обновлять эту отдельную таблицу в базе данных, все модули синхронизации с кроном, которые я нашёл обновляют только стандартные поля продукта. Я не понимаю как люди могут разработать такой сложный модуль и не доработать такую важную часть, ведь нет смысла в функции мультисклада, если остатки там не отображаются верно. Кто уже пользуется с 1с, как вы это реализовали ?
- 174 replies
-
- склад
- учет товара
-
(і ще 3)
Tagged with: