Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

andreyegorov1987

Новачок
  
  • Публікації

    18
  • З нами

  • Відвідування

Відвідувачі профілю

Блок відвідувачів профілю відключений і не буде доступний широкому іншим користувачам

andreyegorov1987's Achievements

Enthusiast

Enthusiast (6/14)

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

Recent Badges

1

Репутація

  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
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.