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

Модуль Модуль обмена для opencart v2.3 по стандарту CommerceML [Поддержка]


Recommended Posts

  В 06.06.2019 в 17:34, Espresso.Doktor сказав:

А заказы тоже прилетали с сайта в 1С со скидкой?

Можно ссылку на сайт, гляну как реализовано!

 

Expand  

 

Сейчас убрали скидки с сайта, так как проблема с задваиванием. И еще момент, скидка в нашем случае это не скидка от цены, это оптовые цены от количества. То есть к примеру, стандартными средствами опенкарта можно сделать так. Цена А - обычная розничная. Цена Б - при покупке от 100 штук, Цена В - при покупке от 200 штук. И при выгрузке заказов с сайта в 1с, заказ будет просто прилетать с определенной ценой. 

Надіслати
Поділитися на інших сайтах


Пробую выгрузить заказ из OpenCart > 1C

 

  Показати вміст

 

Открываю файл orders.xml  а там пусто :(

 

  Показати вміст

 

Вопрос, что надо сделать, что бы OpenCart сформировал и отдал информацию в файл orders.xml ?

 

В логе обмена есть упоминание о заказе 19 и 20, дальше чистый лог :(

 

  Показати вміст

 

Змінено користувачем Espresso.Doktor
Надіслати
Поділитися на інших сайтах


  В 04.06.2019 в 11:14, Espresso.Doktor сказав:

Kirillove, установил модуль, сделал тестовую выгрузку товара, из 1С прилетает значение <Артикул>ABC123</Артикул> модуль его записывает в поле " SKU.

А надо его записать в поле "Модель", в каком файле нужно внести правки, и логично при "заказе" в 1С должно прилететь в Артикул.

 

Заранее благодарю!

Expand  

\admin\model\extension\exchange1c.php

 

найдите функцию

private function parseProducts($xml) {

и замените

// АРТИКУЛ
$data['sku'] = $product->Артикул ? htmlspecialchars(trim((string)$product->Артикул)) : "";

на 

// АРТИКУЛ
$data['model'] = $product->Артикул ? htmlspecialchars(trim((string)$product->Артикул)) : "";

в таком случае нужно убрать или заменить на sku функцию отвечающую за запись модели (Если она у вас есть)

// МОДЕЛЬ
if ($product->Модель) {
   $data['model'] = htmlspecialchars(trim((string)$product->Модель));
}
Змінено користувачем indaled72
  • +1 1
Надіслати
Поділитися на інших сайтах


  В 16.06.2019 в 20:01, indaled72 сказав:

\admin\model\extension\exchange1c.php

 

найдите функцию

private function parseProducts($xml) {

и замените

// АРТИКУЛ
$data['sku'] = $product->Артикул ? htmlspecialchars(trim((string)$product->Артикул)) : "";

на 

// АРТИКУЛ
$data['model'] = $product->Артикул ? htmlspecialchars(trim((string)$product->Артикул)) : ""
Expand  

Супер, исправил, прилетело в поле Артикул (model).

 

Попробовал добавить следующую строку, что б значение Артикул прилетело в SEO URL страницы данного товара

// АРТИКУЛ
$data['keyword'] = $product->Артикул ? htmlspecialchars(trim((string)$product->Артикул)) : "";

Не прилетело в поле SEO URL карточки товара

 

Что нужно еще прописать?

 

Благодарю!

 

Надіслати
Поділитися на інших сайтах


  В 17.06.2019 в 10:25, Espresso.Doktor сказав:

Супер, исправил, прилетело в поле Артикул (model).

 

Попробовал добавить следующую строку, что б значение Артикул прилетело в SEO URL страницы данного товара

// АРТИКУЛ
$data['keyword'] = $product->Артикул ? htmlspecialchars(trim((string)$product->Артикул)) : "";

Не прилетело в поле SEO URL карточки товара

 

Что нужно еще прописать?

 

Благодарю!

 

Expand  

Так не прокатит, данные по SEO содержатся в отдельной таблице и плюс артикул может содержать пробелы..

Там же есть функции по работе с SEO, зачем велосипед.

Надіслати
Поділитися на інших сайтах


Единственное,.

В коде есть ошибка и поэтому, если настроить SEO, при обновлении товара оно не будет работать.

 

Чтобы взлетело:

1. Открываем файл: \admin\model\extension\exchange1c.php

2. Ищем функцию: 

private function updateProduct($product_id, $data) {

3. В функции находим строку:

if ($this->config->get('exchange1c_seo_manufacturer_mode') != 'disable') {

и заменяем ее на вот эту строку:

if ($this->config->get('exchange1c_seo_product_mode') != 'disable') {

 

Змінено користувачем Maximis
Подсветил код, для читабельности
Надіслати
Поділитися на інших сайтах


  В 18.06.2019 в 10:27, Maximis сказав:

Единственное,.

В коде есть ошибка и поэтому, если настроить SEO, при обновлении товара оно не будет работать.

 

Чтобы взлетело:

1. Открываем файл: \admin\model\extension\exchange1c.php

2. Ищем функцию: 

private function updateProduct($product_id, $data) {

3. В функции находим строку:

if ($this->config->get('exchange1c_seo_manufacturer_mode') != 'disable') {

и заменяем ее на вот эту строку:

if ($this->config->get('exchange1c_seo_product_mode') != 'disable') {

 

Expand  

 

Речь идет об этом участке кода?

 

// Производители

        if ($this->config->get('exchange1c_seo_manufacturer_mode') != 'disable') {
            if (isset($this->TAB_FIELDS['manufacturer_description'])) {
                // Выбрать все категории, нужны поля:
                // name, sku, model, manufacturer_id, description, product_id, category_id
                $no_update_description = array();
                if (isset($this->TAB_FIELDS['manufacturer_description']['meta_h1'])) {
                    $sql = "SELECT `m`.`manufacturer_id`, `md`.`name`, `md`.`meta_title`, `md`.`meta_description`, `md`.`meta_keyword`, `md`.`meta_h1` FROM `" . DB_PREFIX . "manufacturer` `m` LEFT JOIN `" . DB_PREFIX . "manufacturer_description` `md` ON (`m`.`manufacturer_id` = `md`.`manufacturer_id`) WHERE `md`.`language_id` = " . $language_id;
                } else {
                    $sql = "SELECT `m`.`manufacturer_id`, `md`.`name`, `md`.`meta_title`, `md`.`meta_description`, `md`.`meta_keyword` FROM `" . DB_PREFIX . "manufacturer` `m` LEFT JOIN `" . DB_PREFIX . "manufacturer_description` `md` ON (`m`.`manufacturer_id` = `md`.`manufacturer_id`) WHERE `md`.`language_id` = " . $language_id;
                    array_push($no_update_description, 'meta_h1');
                }

                $query = $this->query($sql);
                if ($query->num_rows) {
                    foreach ($query->rows as $data) {

                        $result['manufacturer']++;

                        $data_old = $data;

                        if ($this->config->get('exchange1c_seo_manufacturer_mode') != 'disable')
                            $update = $this->seoGenerateManufacturer($data['manufacturer_id'], $data);

                        if (!$update)
                            continue;

 

 

Змінено користувачем Espresso.Doktor
Надіслати
Поділитися на інших сайтах


  В 18.06.2019 в 12:22, Espresso.Doktor сказав:

 

Речь идет об этом участке кода?

 

  Показати вміст

 

Expand  

Нет, об этом:

		// Формируем SEO для товара и получаем поля которые изменились
		if ($this->config->get('exchange1c_seo_manufacturer_mode') != 'disable') {
			$modify_fields2 = $this->seoGenerateProduct($product_id, $data);
		} else {
			$modify_fields2 = array();
		}

Номер строки 2283, которую нужно заменить.

Змінено користувачем Maximis
Надіслати
Поділитися на інших сайтах


  В 10.06.2019 в 16:22, Espresso.Doktor сказав:

Пробую выгрузить заказ из OpenCart > 1C

 

  Показати вміст

 

Открываю файл orders.xml  а там пусто :(

Expand  

 

Да забейте вы уже на этот модуль - за три с лишним года он нормально никогда не работал. А с января его написатель похоже окончательно его забросил - никаких обновлений не выходило. Пытаться исправить код бесполезно, написан настолько некачественно, что когда начинаешь править одно, другое третье, то понимаешь, что писать надо вообще с нуля. Купил в итоге платный модуль, мне работать сейчас надо.

Надіслати
Поділитися на інших сайтах


  В 20.06.2019 в 04:44, IronMann сказав:

 

Да забейте вы уже на этот модуль - за три с лишним года он нормально никогда не работал. А с января его написатель похоже окончательно его забросил - никаких обновлений не выходило. Пытаться исправить код бесполезно, написан настолько некачественно, что когда начинаешь править одно, другое третье, то понимаешь, что писать надо вообще с нуля. Купил в итоге платный модуль, мне работать сейчас надо.

Expand  

 

Да вижу, что модуль скорее сырой, и понимаю что надо его полностью допиливать под свои задачи!

Просто пока пытаюсь все задачи сформулировать у себя на бумаге, что не так легко, даже после многих лет работы!

 

Если не секрет, что за модуль купили?

После установки завелся с полуоборота, или надо было допиливать?

Работает от штатного модуля обмена битрикса в 1С? 

 

Надіслати
Поділитися на інших сайтах


Нашёл небольшую недоработку: если админка находится по адресу отличному от admin, то модуль не работает, т.к. путь к config прописан жёстко. Каждый раз при обновлении забываю про это.

// Configuration
require_once('../admin/config.php');

 

Надіслати
Поділитися на інших сайтах


Ещё есть такие ошибки:

2019-06-20 17:00:40 - PHP Warning:  count(): Parameter must be an array or an object that implements Countable in /model/extension/exchange1c.php on line 3353
2019-06-20 17:00:40 - PHP Warning:  count(): Parameter must be an array or an object that implements Countable in /model/extension/exchange1c.php on line 7889

 

PHP 7.2

Змінено користувачем d2boy
Надіслати
Поділитися на інших сайтах


  В 20.06.2019 в 18:32, IronMann сказав:

 

С учетом того, что этому модулю больше трех лет, он уже скорее не сырой, а протухший...

 

Когда уже полностью устал ждать в этой теме чего-либо приемлемого для работы, купил себе модуль от НеоСео, а других и нет, по факту. Завелся сразу, плясать не пришлось. Вопрос с модулем для себя закрыл. На счет битрикса, вопрос не совсем понятен. Битрикс, это же свой движок CMS, у него свой модуль обмена с 1С.

Expand  

 

Каждый имеет право высказать свое мнение, и я уважаю людей который имеют это сделать!

 

Читал про модуль НеоСео, но пока решил сообразить все свои задачи, что бы составить ТЗ хотя для себя.

Если не военная тайна, можно кинуть в личку ссылку на ваш сайт, хочу глянуть как выглядит со стороны "покупателя".

 

Благодарю и удачного уикенда!

Надіслати
Поділитися на інших сайтах


Вам проще будет взять его на 14 дней пробного доступа, поставить на тестовый домен и общупать со всех сторон самостоятельно. Я в свое время купил его просто на пробу, почти от безысходности, можно сказать. Ну ничего вообще рабочего не было. О НеоСео были очень противоречивые отзывы, по этому были некоторые предубеждения. Когда купил и поставил, пожалел только о том, что не сделал это раньше, начав вместо этого искать бесплатные решения. Потратил только время напрасно, по большому счету. Хотя приобрел при этом опыт и лучше разобрался в своих потребностях. Да, код закрыт, но я просто нашел компромиссные варианты между своими хотелками и имеющимся функционалом.

Змінено користувачем IronMann
Надіслати
Поділитися на інших сайтах


  В 04.06.2019 в 11:14, Espresso.Doktor сказав:

Kirillove, установил модуль, сделал тестовую выгрузку товара, из 1С прилетает значение <Артикул>ABC123</Артикул> модуль его записывает в поле " SKU.

А надо его записать в поле "Модель", в каком файле нужно внести правки, и логично при "заказе" в 1С должно прилететь в Артикул.

 

Заранее благодарю!

Expand  

В правилах загрузки нужно написать Артикул ## model . Код товара станет артикулом.

 

Не за что.

Надіслати
Поділитися на інших сайтах


  В 20.06.2019 в 04:44, IronMann сказав:

 

Да забейте вы уже на этот модуль - за три с лишним года он нормально никогда не работал. А с января его написатель похоже окончательно его забросил - никаких обновлений не выходило. Пытаться исправить код бесполезно, написан настолько некачественно, что когда начинаешь править одно, другое третье, то понимаешь, что писать надо вообще с нуля. Купил в итоге платный модуль, мне работать сейчас надо.

Expand  

Ну хз. Поставил, доработал. Замудохался - да. Работает - да. Есть ли у меня рабочая (нет) версия - да. Заработал ли этот ваш платный из коробки на чистой системе - нет. Функций в бесплатном больше - да.

Змінено користувачем herminator
Надіслати
Поділитися на інших сайтах


  В 16.06.2019 в 20:01, indaled72 сказав:

\admin\model\extension\exchange1c.php

 

найдите функцию

private function parseProducts($xml) {

и замените

// АРТИКУЛ
$data['sku'] = $product->Артикул ? htmlspecialchars(trim((string)$product->Артикул)) : "";

на 

// АРТИКУЛ
$data['model'] = $product->Артикул ? htmlspecialchars(trim((string)$product->Артикул)) : "";

в таком случае нужно убрать или заменить на sku функцию отвечающую за запись модели (Если она у вас есть)

// МОДЕЛЬ
if ($product->Модель) {
   $data['model'] = htmlspecialchars(trim((string)$product->Модель));
}
Expand  

Не надо так делать. Ответ выше.

Надіслати
Поділитися на інших сайтах


  В 24.06.2019 в 13:13, zebratratata сказав:

Добрый день.

Поддержка под 3-й опенкарт не планируется? 

Expand  

Неужели сложно одну последнюю страницу хотя бы прочитать.

Надіслати
Поділитися на інших сайтах


  В 25.06.2019 в 21:11, herminator сказав:

Замудохался

Expand  

 

Для данного модуля это его миссия.

 

  В 25.06.2019 в 21:11, herminator сказав:

Заработал ли этот ваш платный из коробки на чистой системе - нет. Функций в бесплатном больше - да.

Expand  

 

Вот как раз на чистой системе платный модуль работает как часы. И какой смысл в функциях условно бесплатного модуля, если они не работают. Модуль не рабочий и не поддерживаемый уже по факту. Эта тема превратится в смесь кружка народного творчества и места слета искателей халявы. Искать здесь решение потребностей реального бизнеса - бесцельно тратить время.

Надіслати
Поділитися на інших сайтах


  В 26.06.2019 в 06:58, IronMann сказав:

Вот как раз на чистой системе платный модуль работает как часы.

Expand  

Повторюсь, у меня не заработал. Начались проблемы с выгрузкой изображений.

 

А данный бесплатный вариант нужно доработать напильником, да. Но после этого он работает, и остаётся в рабочем виде. Где тут проблема?

Змінено користувачем herminator
Надіслати
Поділитися на інших сайтах


  В 26.06.2019 в 12:42, herminator сказав:

Повторюсь, у меня не заработал. Начались проблемы с выгрузкой изображений.

 

А данный бесплатный вариант нужно доработать напильником, да. Но после этого он работает, и остаётся в рабочем виде. Где тут проблема?

Expand  

 

Эх, грусть-печаль...

Знаете, вы далеко не первый, кто активно впрягается в защиту этого вредоносного модуля. За три года, были разные его защитники, которые чего-то где-то допилили и уверовали, что он хороший. А где итоговый результат?

Надіслати
Поділитися на інших сайтах


  В 26.06.2019 в 13:35, zebratratata сказав:

Извиняюсь за возможную наглость, но кто-то может скинуть рабочий вариант с фиксом части багов?

Expand  

Другие будете сами править, по мере налетания на них? :) Поверьте, там багов минное поле.

Надіслати
Поділитися на інших сайтах


  • dinox changed the title to Модуль обмена для opencart v2.3 с учетной системой по стандарту CommerceML [Поддержка]

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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