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

andreyegorov1987

Newbie
  
  • Posts

    19
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

andreyegorov1987's Achievements

Enthusiast

Enthusiast (6/14)

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

Recent Badges

2

Reputation

    Модуль суперр, но сообщение о заказах не отправляются менеджерам, в итоге те заказы теряются
  1. При нажатии на любое поля в соответствии категорий, перебрасывает на гугл диск с несуществующим файлом
  2. 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"; }
  3. Инструкция автоматической выгрузки заказов в 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 для заказов. После синхронизации торгсофт удаляет файлы заказов (безопасно)
  4. Тему создал для себя, что бы не забыть наработки может кому и пригодится, синхронизация с торгсофтом, все нюансы которые мне приходится решать, может кто-то присоединится
  5. Есть модуль который создает дополнительную таблицу в бд opencart 3, туда нужен импорт по крону с файла в корне сайта, кто знает такой или может доработать модуль ?
  6. Напишу сюда, интересует этот модуль очень, но не даёт пока автоматизация синхронизации. Товары в магазине обновляются каждый час, как это реализовать, через какой модуль дополнительный ? Я готов и его купить, вопрос существует ли он в природе ? Как обновлять эту отдельную таблицу в базе данных, все модули синхронизации с кроном, которые я нашёл обновляют только стандартные поля продукта. Я не понимаю как люди могут разработать такой сложный модуль и не доработать такую важную часть, ведь нет смысла в функции мультисклада, если остатки там не отображаются верно. Кто уже пользуется с 1с, как вы это реализовали ?
  7. Ну а как это сделать. Указать в тексте описания товара перед кодом ?
  8. Может есть какой нибудь известный способ, что бы различать код при сохранении карточки
  9. "<p><strong>Застосування:</strong> наносити 1 ампулу (15мл) виключно на корені волосся. Використовувати 2 рази в тиждень протягом 3-х місяців. Після відкриття ампули використовувати негайно.</p"
  10. Если через код в админке, то все нормально, но надо что бы это все было на стороне 1с, поскольку описание улетает на разные сайты. На странице товара его opencart заключает "" https://realnatura.eu/volossya/ampuly-real-natura-pro-keda-forte-proty-vypadinnya-volossya-12x15ml-shampun-100-ml
  11. Кто ни будь сталкивался с проблемой выгрузки ? С одной стороны есть 1с она выгружает уже форматированый текст с html, но в магазине эти теги в описании отображаются. Можно было бы отключить через код, но так не подходит, потому что есть часть товаров с описанием просто тектом Исходный текст такой должен быть: Ампули Pro-Keda Forte проти випадіння волосся 12x15мл + Шампунь 100 мл Усуває випадіння волосся, додає об'єм і збільшує щільність волосся. Одні з основних активних компонентів – вітамін B5, кофеїн, екстракт бамбука. Застосування: наносити 1 ампулу (15мл) виключно на корені волосся. Використовувати 2 рази в тиждень протягом 3-х місяців. Після відкриття ампули використовувати негайно. В файле импорта и странице товар он виден как : <h4>Ампули Pro-Keda Forte проти випадіння волосся 12x15мл + Шампунь 100 мл</h4> <p>Усуває випадіння волосся, додає об'єм і збільшує щільність волосся. Одні з основних активних компонентів &ndash; вітамін B5, кофеїн, екстракт бамбука.</p> <p><strong>Застосування:</strong> наносити 1 ампулу (15мл) виключно на корені волосся. Використовувати 2 рази в тиждень протягом 3-х місяців. Після відкриття ампули використовувати негайно.</p>
  12. Действительно, после обновления все вылечилось. Спасибо
  13. Добрый день, после подключения к CloudFlare вот такая штука светится, на просторах интернета я решения не нашел: Notice: Undefined property: Proxy::getProductMainCategoryId in /sites/storage/modification/system/engine/action.php on line 79
×
×
  • 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.