Автор Тема: Экспорт товаров PrestaShop 1.5  (Прочитано 3799 раз)

30 Май 2014, 01:41:49
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
   Подскажите где находиться файл логики экспорта товаров в PrestaShop в админке. И еще наперед - где можно указать количество товара для экспорта (потому что экспортируются не все, а только одна страница ).
   Заранее спасибо.
30 Май 2014, 10:20:26
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 1285
  • Репутация: +13/-1
  • Сообщество PrestaShop
    • Просмотр профиля
AdminImportController.php
@ini_set('max_execution_time', 0);
/** No max line limit since the lines can be more than 4096. Performance impact is not significant. */
define('MAX_LINE_SIZE', 0);

/** Used for validatefields diying without user friendly error or not */
define('UNFRIENDLY_ERROR', false);

/** this value set the number of columns visible on each page */
define('MAX_COLUMNS', 6);

/** correct Mac error on eof */
@ini_set('auto_detect_line_endings', '1');
30 Май 2014, 11:20:16
Ответ #2
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
это точно относится именно к экспорту а не импорту? Просто в этом коде вы написали нет никакого намека на экспорт. Спасибо.
30 Май 2014, 11:24:53
Ответ #3
  • Новичок
  • *
  • Сообщений: 36
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всем доброго дня.
Дабы не плодить темы, вопрос по экспорту: при экспорте с помощью SQL-запроса через менеджер-SQL в presta 1.5.6.1 не выгружаются поля description_short и description. Причем только в тех товарах, которые заносились вручную. А в тех, что импортировались CSV файлом выгружаются нормально. Есть у кого какие-нибудь мысли по этому поводу?
30 Май 2014, 11:38:17
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
это точно относится именно к экспорту а не импорту? Просто в этом коде вы написали нет никакого намека на экспорт. Спасибо.
Чтобы узнать контроллер, который обрабатывает выбранную страницу, нужно смотреть url. При нажатии на кнопку экспорта адрес
index.php?controller=AdminImport....
Всем доброго дня.
Дабы не плодить темы, вопрос по экспорту: при экспорте с помощью SQL-запроса через менеджер-SQL в presta 1.5.6.1 не выгружаются поля description_short и description. Причем только в тех товарах, которые заносились вручную. А в тех, что импортировались CSV файлом выгружаются нормально. Есть у кого какие-нибудь мысли по этому поводу?
Может ид языка не правильно указано.
30 Май 2014, 11:51:24
Ответ #5
  • Новичок
  • *
  • Сообщений: 36
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всем доброго дня.
Дабы не плодить темы, вопрос по экспорту: при экспорте с помощью SQL-запроса через менеджер-SQL в presta 1.5.6.1 не выгружаются поля description_short и description. Причем только в тех товарах, которые заносились вручную. А в тех, что импортировались CSV файлом выгружаются нормально. Есть у кого какие-нибудь мысли по этому поводу?
Может ид языка не правильно указано.
В смысле неправильно? Язык для всех товаров один стоит  - русский. Единственная видимая разница, что у товаров, поля description_short и description которых выгружаются, отсутствует Мета-описание и Мета ключевые слова. Может быть из-за этого косяк?
30 Май 2014, 14:45:41
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
При sql запросах нужно соблюдать очередность полей. Проверьте запрос, чтобы очередь полей была одинаковой с табличной.
30 Май 2014, 15:30:21
Ответ #7
  • Новичок
  • *
  • Сообщений: 36
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
При sql запросах нужно соблюдать очередность полей. Проверьте запрос, чтобы очередь полей была одинаковой с табличной.
Не совсем понял - с какой таблицей сравнивать?
Вот сам запрос:
SELECT p.id_product, p.active, pl.name, GROUP_CONCAT(DISTINCT(cl.name) SEPARATOR ",") as categories, p.price, p.reference, pl.description_short, pl.description, pl.link_rewrite
FROM ps_product p
LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product)
LEFT JOIN ps_category_product cp ON (p.id_product = cp.id_product)
LEFT JOIN ps_category_lang cl ON (cp.id_category = cl.id_category)
LEFT JOIN ps_category c ON (cp.id_category = c.id_category)
LEFT JOIN ps_product_tag pt ON (p.id_product = pt.id_product)
WHERE pl.id_lang = 1
AND cl.id_lang = 1
GROUP BY p.id_product
30 Май 2014, 15:36:04
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Запрос правильный, все выгружается.
Единственое условие, при котором этот запрос не работает, это ИД языка.
Проверяйте описание для id_lang = 1.
30 Май 2014, 16:17:41
Ответ #9
  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Извините за тупость, но в админке на вкладке "Товары", над списком товаров есть кнопка экспорт. Вот по нажатию на эту кнопку какой обработчик вызывается ? Где находиться логика экспорта для этой кнопки.  В ImroptController нет ничего похожего на экспорт. Спасибо.
30 Май 2014, 16:32:20
Ответ #10
  • Новичок
  • *
  • Сообщений: 36
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Запрос правильный, все выгружается.
Единственое условие, при котором этот запрос не работает, это ИД языка.
Проверяйте описание для id_lang = 1.
А можно чуть подробнее - где его проверять?
30 Май 2014, 17:09:22
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Извините за тупость, но в админке на вкладке "Товары", над списком товаров есть кнопка экспорт. Вот по нажатию на эту кнопку какой обработчик вызывается ? Где находиться логика экспорта для этой кнопки.  В ImroptController нет ничего похожего на экспорт. Спасибо.
Наведите курсор мыши на эту кнопку и смотрите URL.
Цитировать
/index.php?controller=AdminProducts&exportproduct&token=....
При нажатии на эту кнопку будет вызван AdminProductsController. Функции импорта/экспорта в родительском контроллере AdminController.
public function processExport($text_delimiter = '"')
{
30 Май 2014, 17:11:02
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
А можно чуть подробнее - где его проверять?
В базе данных. Открываете таблицу ps_product_lang и проверяете колонку id_product.
02 Июнь 2014, 10:56:29
Ответ #13
  • Новичок
  • *
  • Сообщений: 36
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А можно чуть подробнее - где его проверять?
В базе данных. Открываете таблицу ps_product_lang и проверяете колонку id_product.
Да действительно, похоже из-за этого косячит. Поля description с id_lang = 1 пустые! Спасибо всем!!!
Осталось понять, почему они в двух вариантах - с id_lang = 1 и id_lang = 2?
И как теперь лучше поступить - удалить поля или как-то изменить SQL-запрос.
02 Июнь 2014, 12:01:34
Ответ #14
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Посмотрите какой ид у русского языка и поменяте в sql запросе поле id_lang.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.