Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

andreyegorov1987

Newbie
  
  • 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

Collaborator

Collaborator (7/14)

  • Reacting Well Rare
  • Collaborator
  • Conversation Starter
  • One Year In
  • Dedicated Rare

Recent Badges

2

Reputation

  1. Нет причина не в этом, возможно кроме этого тестового модуля для опенкарт нужно что-то еще развернуть ?
  2. А как будет срабатывать модуль на акционные товары которые стоят на скидке ?
  3. Установил я тестовый модуль и скачело демо приложение, что бы потестить а оно пишет еще модуль апи нужен где его взять ?
  4. Тестовый модуль на опенкарт 3 не работает. Из меню ничего не открывает на опенкарт 3
    Модуль суперр, но сообщение о заказах не отправляются менеджерам, в итоге те заказы теряются
  5. При нажатии на любое поля в соответствии категорий, перебрасывает на гугл диск с несуществующим файлом
  6. 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"; }
  7. Инструкция автоматической выгрузки заказов в 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 для заказов. После синхронизации торгсофт удаляет файлы заказов (безопасно)
  8. Тему создал для себя, что бы не забыть наработки может кому и пригодится, синхронизация с торгсофтом, все нюансы которые мне приходится решать, может кто-то присоединится
  9. Есть модуль который создает дополнительную таблицу в бд opencart 3, туда нужен импорт по крону с файла в корне сайта, кто знает такой или может доработать модуль ?
  10. Напишу сюда, интересует этот модуль очень, но не даёт пока автоматизация синхронизации. Товары в магазине обновляются каждый час, как это реализовать, через какой модуль дополнительный ? Я готов и его купить, вопрос существует ли он в природе ? Как обновлять эту отдельную таблицу в базе данных, все модули синхронизации с кроном, которые я нашёл обновляют только стандартные поля продукта. Я не понимаю как люди могут разработать такой сложный модуль и не доработать такую важную часть, ведь нет смысла в функции мультисклада, если остатки там не отображаются верно. Кто уже пользуется с 1с, как вы это реализовали ?
  11. Ну а как это сделать. Указать в тексте описания товара перед кодом ?
  12. Может есть какой нибудь известный способ, что бы различать код при сохранении карточки
Guest
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.