Автор Тема: Создание товара в базе Prestashop запросами mysql  (Прочитано 14383 раз)

22 Октябрь 2015, 16:15:45
Ответ #120
  • Ветеран
  • *****
  • Сообщений: 86694
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Да как же мне без контроллеров создать товар с id=5 и с id_product=5 и если он существует, то как его изменить/заменить ???
Ответ на этот вопрос я вам написал в самом начале.
Если вы хотите создавать товары со своего комп., используйье webservice.
Если вы создаете товары через админку, используйте модули и контроллеры.
Других вариантов нет.

22 Октябрь 2015, 16:16:48
Ответ #121
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
А как Вы писали?
$product->add(); добавляли или просто $product->save(); ?
Я использую
$product->add();или
$product->update();
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
22 Октябрь 2015, 16:21:37
Ответ #122
  • Пользователь
  • **
  • Сообщений: 92
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Да как же мне без контроллеров создать товар с id=5 и с id_product=5 и если он существует, то как его изменить/заменить ???
Ответ на этот вопрос я вам написал в самом начале.
Если вы хотите создавать товары со своего комп., используйье webservice.
Если вы создаете товары через админку, используйте модули и контроллеры.
Других вариантов нет.

вебсервис говорите... я слышал, что он заводится только на windows 7 и иже с ними, а на XP работать не будет - так ли это?
22 Октябрь 2015, 16:23:01
Ответ #123
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Вы меня не слышите. Файл импорта товара csv содержит колонку "ID" в которой значение 5! При импорте этого файла, независимо от того есть такой товар с таким id или нет всё равно он создаётся с id=5 либо если есть такой товар, то просто переписывается. Как это сделать?
Попробывал тоже ид менять через импорт. Не работает. Как вы произвольный ид добавили? У меня ид по порядку. Нельзя перепрыгнуть и задать свой ид. Что нужно изменить?
22 Октябрь 2015, 16:26:41
Ответ #124
  • Пользователь
  • **
  • Сообщений: 92
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вы меня не слышите. Файл импорта товара csv содержит колонку "ID" в которой значение 5! При импорте этого файла, независимо от того есть такой товар с таким id или нет всё равно он создаётся с id=5 либо если есть такой товар, то просто переписывается. Как это сделать?
Попробывал тоже ид менять через импорт. Не работает. Как вы произвольный ид добавили? У меня ид по порядку. Нельзя перепрыгнуть и задать свой ид. Что нужно изменить?

Я создал csv файл в котором указал нужный мне ID товара и он создался с тем самым ID что в файле csv! Последующие импорты ЭТОГО ЖЕ csv просто меняли товар с этим ID не создавая новый! Опция есть такая в админке при импорте товара "Использовать все номера ID" (версия престы 1.6) нужно переключить на "ДА" - попробуйте сами!
22 Октябрь 2015, 16:32:02
Ответ #125
  • Ветеран
  • *****
  • Сообщений: 86694
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
вебсервис говорите... я слышал, что он заводится только на windows 7 и иже с ними, а на XP работать не будет - так ли это?
Может вы путаете webservice и webservere? Это разные понятия.

Ваша система вообще не играет роли. Точнее это ваша проблема, как и запуск php из командной строки. Prestashop отдельно, ваш комп. отдельно. Для взаимодействия Prestashop с любым пк под любой ос сущестует API Webservice. Это готовые функции, которые входят в ядро Prestashop. С их помощью вы можете управлять сайтов с удаленного сервера.
22 Октябрь 2015, 16:35:31
Ответ #126
  • Пользователь
  • **
  • Сообщений: 92
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Да не с удалённого сервера я управляю, с локального и через командную строку с php
Не получается у меня обратиться к встроенным функциям престы и создать нужный мне товар с нужным id. Средствами импорта из админки (визуально) руками всё получается, а программно никак.
22 Октябрь 2015, 16:39:34
Ответ #127
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Вы меня не слышите. Файл импорта товара csv содержит колонку "ID" в которой значение 5! При импорте этого файла, независимо от того есть такой товар с таким id или нет всё равно он создаётся с id=5 либо если есть такой товар, то просто переписывается. Как это сделать?
Попробывал тоже ид менять через импорт. Не работает. Как вы произвольный ид добавили? У меня ид по порядку. Нельзя перепрыгнуть и задать свой ид. Что нужно изменить?

Я создал csv файл в котором указал нужный мне ID товара и он создался с тем самым ID что в файле csv! Последующие импорты ЭТОГО ЖЕ csv просто меняли товар с этим ID не создавая новый! Опция есть такая в админке при импорте товара "Использовать все номера ID" (версия престы 1.6) нужно переключить на "ДА" - попробуйте сами!
Пробывал. Меняет товары с одним ид, но не добавляет с разными.
У меня есть пробел между ид, товар с ид 485 после него идет 671, вот я и хотел добавить 486, 487 и так до 670.
По разному пробывал, переключал Использовать артикул товара в качестве ключа, Использовать все номера ID. Все равно товары добавляются после ид 671.
Вот когда включаешь "Удалить все товары перед импортом" и заливаешь полностью список товаров, тогда ид по порядку. Но начинает с ид 671.


22 Октябрь 2015, 16:42:36
Ответ #128
  • Пользователь
  • **
  • Сообщений: 92
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Так вот я хочу изменить всего один товар с одним конкретным ID ПРОГРАММНО - точно так же как это делает AdminImportController но только из моего скрипта, который я запускаю на том же компьютере локально через командную строку php мой_скрипт.php
22 Октябрь 2015, 16:51:48
Ответ #129
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Я делаю также как и вы, у меня в модуле пограммно меняется количество на складе. Модуль не стандарный, сделан для общего склада, при заказе проверка и изменние доступного количества до регистрации заказа.
Получаю ид товаров в заказе,  загружаю товары, меняю количестово и сохраняю
$product = new Product((int)$ids['id_product]);
$product->quantity = $product_quantity_new;
$product->update();
В базе данных изменения сохраняются, товары не дублируются.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
22 Октябрь 2015, 16:57:26
Ответ #130
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Пробывал залить в импорте csv файл с товаром ид 486. Отметил "Использовать все номера ID", нах номер у товара 671.
Может кто объяснит как свой ид подставит?
22 Октябрь 2015, 17:01:38
Ответ #131
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Пробывал залить в импорте csv файл с товаром ид 486. Отметил "Использовать все номера ID", нах номер у товара 671.
Может кто объяснит как свой ид подставит?
Да никак, зачем вам это нужно? Связи между таблиц нарущить? Или делать нечего?
22 Октябрь 2015, 17:09:18
Ответ #132
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Надаело твердить одно и тоже. Создаю отдельную тему Prestashop FAQ Как программно создать товар В ней соберу все что касается создания товара из своего скрипта. Протестирую разные способы, чтобы не было вопросов работает или нет.
Кто хочет добавить свой способ, присоединяйтесь.
22 Октябрь 2015, 17:12:29
Ответ #133
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Надаело твердить одно и тоже. Создаю отдельную тему Prestashop FAQ Как программно создать товар В ней соберу все что касается создания товара из своего скрипта. Протестирую разные способы, чтобы не было вопросов работает или нет.
Кто хочет добавить свой способ, присоединяйтесь.
Это хорошо, но как ответ на мой вопрос, почему я не могу импортировать любое ид?
Cyrix пишите что без проблем, а у меня не проходит?
22 Октябрь 2015, 18:24:49
Ответ #134
  • Ветеран
  • *****
  • Сообщений: 86694
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Это хорошо, но как ответ на мой вопрос, почему я не могу импортировать любое ид?
Cyrix пишите что без проблем, а у меня не проходит?
Поле id в таблице товара автоинкремент, поэтому товары сохраняются в таблице по порядку, последний id + 1.