PowerPartners.ru

Форум партнерской программы
Текущее время: 16 сен 2024, 23:42

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 105 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11  След.
Автор Сообщение
 Заголовок сообщения: Re: Интеграция с OpenCart v3.x
СообщениеДобавлено: 19 авг 2022, 13:36 
Не в сети

Зарегистрирован: 02 июн 2020, 00:39
Сообщения: 135
admin писал(а):
Это повлияет на работоспособность модуля. Он не будет выполнять свои функции

Но ведь все его функции это, как я понимаю, только обновление количества остатков и цен? Это я могу брать из другой базы данных. Или есть там что-то ещё помимо этого?
Очень нужно понимать, потому что необходимо для создания составных товаров Опенкарте. Если удалю модуль, то на что конкретно это повлияет, помимо остатков и цен?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Интеграция с OpenCart v3.x
СообщениеДобавлено: 19 авг 2022, 14:25 
Не в сети
Администратор

Зарегистрирован: 12 дек 2008, 01:50
Сообщения: 2482
petyann писал(а):
Но ведь все его функции это, как я понимаю, только обновление количества остатков и цен?
Нет, если бы все было так просто, можно было бы обычным импортом через YML делать. Функции модуля более обширны - это и передача заказов, и прием статусов, обновление фотографий, описаний и характеристик в случае их изменения и т.п.

petyann писал(а):
Очень нужно понимать, потому что необходимо для создания составных товаров Опенкарте. Если удалю модуль, то на что конкретно это повлияет, помимо остатков и цен?
Помимо остатков и цен это повлияет на работоспособность модуля. Он перестанет выполнять свои функции. Попробуйте переформулировать вопрос, а то диалог как-то в тупик зашел....

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


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Интеграция с OpenCart v3.x
СообщениеДобавлено: 20 авг 2022, 09:40 
Не в сети

Зарегистрирован: 02 июн 2020, 00:39
Сообщения: 135
Фотографии, как я заметил, не часто обновляются.
Если добавить новые товары (в данном случае составные), то при каждом обновлении они удаляются, т.к. база данных обнуляется и перезаписывается.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Интеграция с OpenCart v3.x
СообщениеДобавлено: 20 авг 2022, 17:28 
Не в сети
Администратор

Зарегистрирован: 12 дек 2008, 01:50
Сообщения: 2482
База не обнуляется и не перезаписывается при обновлении.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Интеграция с OpenCart v3.x
СообщениеДобавлено: 23 авг 2022, 23:34 
Не в сети

Зарегистрирован: 02 июн 2020, 00:39
Сообщения: 135
admin писал(а):
База не обнуляется и не перезаписывается при обновлении.

В том-то и дело, что перезаписывается. То есть если туда добавить вручную, непосредственно через Opencart какой-то другой товар (в моём случае это составные комплекты), то при обновлении базы через Крон этот товар удаляется.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Интеграция с OpenCart v3.x
СообщениеДобавлено: 24 авг 2022, 00:12 
Не в сети
Администратор

Зарегистрирован: 12 дек 2008, 01:50
Сообщения: 2482
Спорить можно до бесконечности, но рассмотрим факты:

1. За импорт товаров отвечает функция import_goods() в файле /upload/admin/model/extension/module/power.php. Как видно из кода, она ничего не удаляет и уж тем более не перезаписывает всю базу.

2. После добавления новых товаров и обновления существующих, функция import_goods() в строке 768 вызывает функцию delete_old_products(). Которая уже удаляет из ассортимента магазина товары партнерки (и только их!), которых нет в полученном при импорте списке (т.е. товары выведенные из обращения).

3. Функция delete_old_products() использует один единственный SQL-запрос к базе в строке 796:
Код:
$sql = "SELECT * FROM `" . DB_PREFIX . "product` WHERE power_id <> '' AND  product_id NOT IN (".$this->db->escape($str).")";
Как можно видеть, удаляются лишь товары, содержащие в поле power_id значение отличное от пустого. А это товары которые положил в базу сам модуль. Если добавлять товары вручную, поле power_id движком OpenCart не устанавливается и удаляться они не будут.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Интеграция с OpenCart v3.x
СообщениеДобавлено: 24 авг 2022, 15:12 
Не в сети

Зарегистрирован: 02 июн 2020, 00:39
Сообщения: 135
Цитата:
Функция delete_old_products() использует один единственный SQL-запрос к базе в строке 796:
Код:
$sql = "SELECT * FROM `" . DB_PREFIX . "product` WHERE power_id <> '' AND  product_id NOT IN (".$this->db->escape($str).")";
Как можно видеть, удаляются лишь товары, содержащие в поле power_id значение отличное от пустого. А это товары которые положил в базу сам модуль. Если добавлять товары вручную, поле power_id движком OpenCart не устанавливается и удаляться они не будут.


Вроде бы и всё так, но вот в реальности товары, добавленные напрямую вручную через OpenCart, удаляются сразу же после обновления update_products.php. Уже 11 раз перепробовал.
В теории, если поле power_id будет заполнено, то такие товары удалятся не будут, но и это тоже не помогло — всё равно удаляются.
Пока что, как вариант, закомментировать или удалить 768-ю строку:
Код:
$this->delete_old_products($product_ids);
В таком случает и обновление происходит, и добавленные вручную товары не удаляются. А старые товары, которые уже не используются, можно, в принципе, и оставить, ну или же удалить вручную.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Интеграция с OpenCart v3.x
СообщениеДобавлено: 29 авг 2022, 15:58 
Не в сети
Администратор

Зарегистрирован: 12 дек 2008, 01:50
Сообщения: 2482
petyann писал(а):
Вроде бы и всё так, но вот в реальности товары, добавленные напрямую вручную через OpenCart, удаляются сразу же после обновления update_products.php. Уже 11 раз перепробовал.
Тоже попробовали. Все товары остаются. И дефолтные (телефоны, которые сразу были в базе при установке OpenCart) и добавленные вручную позже. Синхронизация их не трогает.

petyann писал(а):
В теории, если поле power_id будет заполнено, то такие товары удалятся не будут, но и это тоже не помогло — всё равно удаляются.
Необорот, если поле power_id заполнено, то товары могут быть удалены. Если в поле пусто - удалению не подлежат.
Это тоже попробовали, добавляли товары вручную - поле равно пустой строке. Товары не удаляются. А стоит в phpMyAdmin таким товарам написать в поле power_id хоть что-то - начинают при синхронизации удаляться.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Интеграция с OpenCart v3.x
СообщениеДобавлено: 30 авг 2022, 08:20 
Не в сети

Зарегистрирован: 02 июн 2020, 00:39
Сообщения: 135
petyann писал(а):
Это тоже попробовали, добавляли товары вручную - поле равно пустой строке. Товары не удаляются. А стоит в phpMyAdmin таким товарам написать в поле power_id хоть что-то - начинают при синхронизации удаляться.


Да, всё верно. Разобрался: у меня при добавлении нового товара вручную поле power_id автоматически изначально равно нулю (именно 0, а не NULL), поэтому такое поле посчиталось заполненным. После того, как самостоятельно вручную удаляю это значение (оставляю только NULL — полностью пустое значение), то тогда не удаляются, тогда всё работает.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Интеграция с OpenCart v3.x
СообщениеДобавлено: 30 авг 2022, 13:07 
Не в сети
Администратор

Зарегистрирован: 12 дек 2008, 01:50
Сообщения: 2482
petyann писал(а):
Разобрался: у меня при добавлении нового товара вручную поле power_id автоматически изначально равно нулю (именно 0, а не NULL)
Слушайте, а точно, в коде:
Код:
$this->db->query("ALTER TABLE `" . DB_PREFIX . "product` ADD `power_id` VARCHAR(255) DEFAULT 0;");
Следовательно, новые товары создаются с power_id=0 и подлежат удалению.

Попробуйте поменять поле power_id на DEFAULT NULL


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 105 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB