Модуль Прайс-лист

Вот еще один модуль, который как-бы присутствует, но которым пользоваться невозможно.
Формирую в формате xlsx - скачиваю, Excel ругается что в файле испорченные данные и даже при попытке восстановления открывает пустой файл.
В PDF слава я***м, формирует благополучно, НО! Ну никакого отбора нет! Выгружает АБСОЛЮТНО все товары. И с нулевым количеством, и давным давно выключенные, и скрытые… То есть те. которых в продаже нет и не будет - все равно в списке, и из рабочих категорий, и из скрытых.
То есть модуль как бы есть, но его как бы и нет.

1 лайк

напишите пожалуйста как версия Excel

Мак ос 10 x64 excel 15
win xp x32 excel 12
win7 x64 excel 13
одна и та же картина - ошибка в файле, невозможно открыть, в логе пишет что при восстановлении - удаление объекта книги, после этого открывает чистый лист
сервер utf8

Добрый день.
Мы проверили выгрузку и просмотр прайс-листа в формат xlsx на демо-магазине http://dev.demo.cs-cart.ru. Проблема не воспроизвелась.
Использовался Microsoft Excel 2013.

сейчас CS-Cart 4.7.4 RU пока не обновляю, обещались в следующем апдейте дать выбор каждому админстратору какую админ панель использовать
PHP Version 5.6.36-0+deb8u1
libxslt Version 1.1.28
Формирую прайс, размер 3кб. вот содержимое (в текстовом редакторе)

https://www.hit-dekor.ru/price_list.xlsx?sl=ru

504b 0304 1400 0000 0000 9778 f24c 0000
0000 0000 0000 0000 0000 0900 0000 646f
6350 726f 7073 2f50 4b03 0414 0000 0008
0097 78f2 4ce9 c399 8fa3 0000 000b 0100
0010 0000 0064 6f63 5072 6f70 732f 6170
702e 786d 6c9d cf31 0b83 3010 05e0 bdbf
42b2 6b6c 8752 24ea 523a 77b0 dd43 726a
c0dc 4972 15fd f74d 29d4 bde3 e3c1 c77b
aa5d fd94 2d10 a223 acc5 b128 4506 68c8
3a1c 6af1 e86e f945 6491 355a 3d11 422d
3688 a26d 0eea 1e68 86c0 0e62 9604 8cb5
1899 e74a ca68 46f0 3a16 a9c6 d4f4 14bc
e614 c320 a9ef 9d81 2b99 9707 6479 2acb
b384 9501 2dd8 7cfe 81e2 2b56 0bff 8b5a
329f 7df1 d96d 73f2 1ad5 11eb a973 1e9a
52c9 3d28 b9df 68de 504b 0304 1400 0000
0800 9778 f24c d2ef c232 1f01 0000 ff01
0000 1100 0000 646f 6350 726f 7073 2f63
6f72 652e 786d 6c6d 915d 4f83 3014 86ef
fd15 a4f7 d096 2d8e 34c0 625c 76a5 8989
188d 774d 3942 23fd 48db 8ded df0b 6cc3
6976 d7d3 f7e9 9373 7af2 f541 75d1 1e9c
9746 1788 2604 45a0 85a9 a56e 0af4 566d
e30c 453e 705d f3ce 6828 d011 3c5a 9777
b9b0 4c18 072f ce58 7041 828f 0691 f64c
d802 b521 5886 b117 2d28 ee93 81d0 43f8
659c e261 285d 832d 17df bc01 9c12 728f
1504 5ef3 c0f1 288c ed6c 4467 652d 66a5
ddb9 6e12 d402 4307 0a74 f098 2614 ffb2
4a86 a385 9b2f 2ee1 151d c029 7f13 9e92
993c 7839 537d df27 fd62 e286 fe29 fe78
7e7a 9d46 8da5 1ebf 4a00 2af3 b39a 0907
3c40 1d0d 0276 6aec 92bc 2f1e 37d5 1695
29a1 594c 5631 cd2a 9a32 b264 cb55 42c8
678e ff29 46e7 e96c 5cb9 3122 7ad8 85d6
b891 9baf c7b5 38d8 cb71 9b25 c9f1 7539
557f 7756 fe00 504b 0304 1400 0000 0000
9778 f24c 0000 0000 0000 0000 0000 0000
0600 0000 5f72 656c 732f 504b 0304 1400
0000 0800 9778 f24c 66aa 82b7 e000 0000
3b02 0000 0b00 0000 5f72 656c 732f 2e72
656c 73ad 92cf 4a03 3110 87ef 7d8a 907b
77b6 1544 64b3 bd88 d09b 487d 8098 ccfe
6137 9930 1975 7d7b 8308 5aa9 a507 8f49
7ef3 cd37 439a dd12 66f5 8a9c 478a 466f
aa5a 2b8c 8efc 187b a39f 0ef7 eb1b bd6b
57cd 23ce 564a 240f 63ca aad4 c46c f420
926e 01b2 1b30 d85c 51c2 585e 3ae2 60a5
1cb9 8764 dd64 7b84 6d5d 5f03 ff64 e8f6
88a9 f6de 68de fb8d 5687 f784 97b0 a9eb
4687 77e4 5e02 4639 d1e2 57a2 902d f728
462f 33bc 114f cf44 5355 a01a 4ebb 6c2f
77f9 7b4e 0828 d65b b1e0 8871 9db8 54b3
8c98 bf75 3cb9 8772 9d3f 13e7 84ae fe73
39b8 0846 8ffe bc92 4de9 cb68 d5c0 d127
683f 0050 4b03 0414 0000 0000 0097 78f2
4c00 0000 0000 0000 0000 0000 000e 0000
0078 6c2f 776f 726b 7368 6565 7473 2f50
4b03 0414 0000 0008 0097 78f2 4cd9 bdb7
3398 0100 00cc 0200 000f 0000 0078 6c2f
776f 726b 626f 6f6b 2e78 6d6c 8d52 4d6f
db30 0cbd ef57 08ba 2fb6 b3a2 4883 38c5
d0a2 680f dd86 b56b cfb4 44c7 5a64 d190
9864 ddaf 1fad 7cb4 eba9 2799 e4d3 e37b
4f5e 5cfe e9bd da62 4c8e 42ad ab49 a915
0643 d685 55ad 7f3d de7c 9e69 9518 8205
4f01 6bfd 8249 5f2e 3f2d 7614 d70d d15a
c9fd 906a dd31 0ff3 a248 a6c3 1ed2 8406
0c32 6929 f6c0 52c6 5591 8688 6053 87c8
bd2f a665 795e f4e0 82de 33cc e347 38a8
6d9d c16b 329b 1e03 ef49 227a 6051 9f3a
3724 bd5c b4ce e3d3 de90 8261 f806 bdc8
be02 6f74 b13c c9fe 1155 0366 bd19 6e04
5deb 167c 4231 dad1 ee7b f31b 0d8b 23f0
5e2b 0b8c d545 7976 84fc 4741 2c48 5923
cdb1 f1e4 7097 5ee7 63a9 4000 5b7c 84a6
d692 6ceb 62e2 8731 815c 8eeb 6e29 babf
1418 fc83 89e4 7dad 396e 0e52 3252 eea6
b74d b1c6 cebc 8733 343f c714 6a3d ada6
5aed 5cb0 c28d 6ed5 c9aa 5975 71ea 3d3b
cb9d 3cf4 f997 d999 44ff 9c9b 59cd cbeb
b718 2ade 38ca 6f76 3c55 c881 666d d528
49ce 3b2b 8cf9 3f61 196d 5d72 8d17 5171
ee64 10ef ec34 331e 6944 bc91 fc1d 6314
fc15 6d82 68ac 4a91 10b1 bd27 2b14 5f85
ed30 3f3d cea1 be46 cf20 2227 6559 65da
63de cb7f 504b 0304 1400 0000 0800 9778
f24c f1a0 a683 3101 0000 5704 0000 1300
0000 5b43 6f6e 7465 6e74 5f54 7970 6573
5d2e 786d 6cbd 944d 4fc3 300c 86ef fb15
55ae a8cd c601 21d4 6e07 248e 3089 7146
21f1 d6a8 6d12 d961 74ff 1ea7 6c48 7c88
6dda c425 5614 bfef e3d8 51ca 59df b5d9
1a90 ac77 9598 1463 9181 d3de 58b7 aac4
d3e2 2ebf 16b3 e9a8 5c6c 0250 c6b9 8e2a
51c7 186e a424 5d43 a7a8 f001 1c9f 2c3d
762a f216 5732 28dd a815 c8cb f1f8 4a6a
ef22 b898 c7e4 21a6 e503 e3d0 1ac8 e60a
e3bd eaa0 12f2 19a1 2559 a455 64b7 1f82
c4ac 840a a1b5 5a45 ae4f ae9d f946 cbb7
a4a4 1c72 a8b6 812e 3841 c8df 497d bb85
bd79 6c5e bc6f 0a4e fe27 7042 520d 1049
0e61 92d8 c761 fd72 6935 18af 5f3b 9614
1410 9419 ccf8 169f fe7b eaa0 5a21 98c7
883c 653a 730d 5fbc 0fe8 c76e 0467 2d81
63d1 29eb f6f5 216e 5a38 7b03 06d3 bfc8
2c9c a30f 2419 7332 1c7a 561a 3079 604b
c068 0f64 6b8f 703c 7cf7 ea93 fa27 7154
cae1 a398 be03 504b 0304 1400 0000 0000
9778 f24c 0000 0000 0000 0000 0000 0000
0900 0000 786c 2f5f 7265 6c73 2f50 4b03
0414 0000 0008 0097 78f2 4c4f f0f9 7ad2
0000 0025 0200 001a 0000 0078 6c2f 5f72
656c 732f 776f 726b 626f 6f6b 2e78 6d6c
2e72 656c 73ad 914d 6bc3 300c 86ef fd15
46f7 c549 0763 8c38 bd8c 41af fdf8 01c6
51e2 d0c4 3692 d6b5 ff7e 2e1b 5b0a 65ec
d093 d0d7 f3be 48f5 ea34 8dea 88c4 430c
06aa a204 85c1 c576 08bd 81fd eeed e119
56cd a2de e068 258f b01f 12ab bc13 d880
1749 2f5a b3f3 3859 2e62 c290 3b5d a4c9
4a4e a9d7 c9ba 83ed 512f cbf2 49d3 9c01
cd15 53ad 5b03 b46e 2b50 bb73 c2ff b063
d70d 0e5f a37b 9f30 c80d 09cd 721e 9133
d152 8f62 e02b 2f32 07f4 6df9 e53d e53f
221d d823 caaf 839f 5236 7709 d55f 661e
ef7a 0b6f 09db ad50 7eec fc24 f3f2 b799
45ad afde dd7c 0250 4b01 0214 0314 0000
0000 0097 78f2 4c00 0000 0000 0000 0000
0000 0009 0000 0000 0000 0000 0000 00ff
4100 0000 0064 6f63 5072 6f70 732f 504b
0102 1403 1400 0000 0800 9778 f24c e9c3
998f a300 0000 0b01 0000 1000 0000 0000
0000 0000 0000 b681 2700 0000 646f 6350
726f 7073 2f61 7070 2e78 6d6c 504b 0102
1403 1400 0000 0800 9778 f24c d2ef c232
1f01 0000 ff01 0000 1100 0000 0000 0000
0000 0000 b681 f800 0000 646f 6350 726f
7073 2f63 6f72 652e 786d 6c50 4b01 0214
0314 0000 0000 0097 78f2 4c00 0000 0000
0000 0000 0000 0006 0000 0000 0000 0000
0000 00ff 4146 0200 005f 7265 6c73 2f50
4b01 0214 0314 0000 0008 0097 78f2 4c66
aa82 b7e0 0000 003b 0200 000b 0000 0000
0000 0000 0000 00b6 816a 0200 005f 7265
6c73 2f2e 7265 6c73 504b 0102 1403 1400
0000 0000 9778 f24c 0000 0000 0000 0000
0000 0000 0e00 0000 0000 0000 0000 0000
ff41 7303 0000 786c 2f77 6f72 6b73 6865
6574 732f 504b 0102 1403 1400 0000 0800
9778 f24c d9bd b733 9801 0000 cc02 0000
0f00 0000 0000 0000 0000 0000 b681 9f03
0000 786c 2f77 6f72 6b62 6f6f 6b2e 786d
6c50 4b01 0214 0314 0000 0008 0097 78f2
4cf1 a0a6 8331 0100 0057 0400 0013 0000
0000 0000 0000 0000 00b6 8164 0500 005b
436f 6e74 656e 745f 5479 7065 735d 2e78
6d6c 504b 0102 1403 1400 0000 0000 9778
f24c 0000 0000 0000 0000 0000 0000 0900
0000 0000 0000 0000 0000 ff41 c606 0000
786c 2f5f 7265 6c73 2f50 4b01 0214 0314
0000 0008 0097 78f2 4c4f f0f9 7ad2 0000
0025 0200 001a 0000 0000 0000 0000 0000
00b6 81ed 0600 0078 6c2f 5f72 656c 732f
776f 726b 626f 6f6b 2e78 6d6c 2e72 656c
7350 4b05 0600 0000 000a 000a 005a 0200
00f7 0700 0000 00

может какого модуля не хватает?..

Скорее всего проблема с окружением. Пришлите информацию о phpinfo в личные сообщения.

Здравствуйте.
У меня тоже не работает прайс лист.
Ни в pdf ни в xls.

Пример - получаю собщение 404:
http://kniganika.ru/price_list.pdf?sl=ru

1 лайк

Добрый день.
Необходимо сначала сформировать прайс-лист нажав соответствующую кнопку http://joxi.ru/LmG0MN4Ceb1JN2 и потом скачать по предложенной ссылке.

Спасибо.

  1. Об этом сказано в документации, что сначала надо нажать на соответствующую кнопку?
  2. Как сделать генерацию прайс листа по расписанию в cron?

Грубо говоря, у вас есть 3 понятия “прайс лист” и все они имеют разное назначение:

  • прайс для яндекса
  • “Модули” - меню “Прайс листы”
  • “Модули” - модуль “Прайс лист”

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

В настройках модуля об этом сказано

Скажите, как выполнить в cron генерацию прайс листа без или с паролем от админки cs-cart?
Ведь выполненеие backend контроллера не возможно без входа в админку.

Добрый день.

  1. Документации для модуля “Прайс-лист” на русском языке пока нет. В настройках самого модуля (где и находятся ссылки на прайс-листы) указано, что при любых изменениях каталога нужно запускать генерацию. Согласна, что для первой генерации прайс-листа это не очевидно.
  2. В документации есть статья как запустить контроллер в командной строке https://www.cs-cart.ru/docs/4.8.x/developer_guide/core/controllers/#id16.
    Эту команду можно использовать для запуска крона, в вашем случае она будет выглядеть примерно так:
    php /path/to/cart/admin.php --dispatch=price_list.generate --display=xlsx

Да, модулей для генерации прайс-листов много, легко запутаться. Перечислю те, которые есть:

  1. Прайс-лист - им вы пользовались для генерации PDF и XLSX для клиентов.
  2. Конструктор прайс-листов (англ. Data Feeds, меню “Модули > Прайс-листы”) - с его помощью можно создавать прайс-листы в формате CSV и точно настраивать, какие именно данные и о каких товарах там должны быть.
  3. Модуль “Прайс-лист для Google Base” (Google Export) расширяет “Конструктор прайс-листов”, чтобы можно было создавать прайс-листы для экспорта в Google Merchant Center.
  4. Модуль “Экспорт в Яндекс.Маркет” позволяет генерировать YML-файлы.

Но ведь выполение backend контроллера требует админского доступа.
Как мне в моём случае стоит поступить?

Не всегда, через схему permissions вы можете давать доступ к админским контроллерам

Вы можете настроить запуск крона на сервере, где установлен cs-cart, а клиентам предоставлять ссылку на прайс-лист, она выглядит всегда одинаково.

Пример для прайс-листов

http://prntscr.com/kicvaf

В итоге никаких прав со стороны cs-cart или операционной сисиемы делать не пришлось и не требуется.

Сделал задачу в кроне:

0 0 * * * /usr/bin/php /srv/projects/site1.ru/public_html/admin.php --dispatch=price_list.generate --display=xlsx >>/tmp/cron_debug_log.log 2>&1

В логах /tmp/cron_debug_log.log пишется:
Генерация XLS. Пожалуйста, подождите...

Проверил в командной строке - работает. Цену обновляет.
Запустил генерацию прайс листов в кроне. Крон успешно запускает и выполняет скрипт каждую минуту. При запуске из крона цены не обновляются.

Что упустил?
Правильный ответ:
Не хватает параметра id витрины.
Для указания id витрины требуется добавить --switch_company_id=1
У меня 2 витрины, нужная мне витрина имеет id=1

Итоговая команда для обновления прайс листов через cron:
* * * * cd /srv/projects/site1.ru/public_html && /usr/bin/php /srv/projects/site1.ru/public_html/admin.php --switch_company_id=1 --dispatch=price_list.generate --display=xlsx >>/tmp/cron_debug_log.log 2>&1

Благодаря обучающему видео от Даниила, узнал что есть тот самый, нужный мне параметр –switch_company_id.

И еще:
в линукс очень желательно выполнять запуск вышеописанной задачи cron под тем же пользователем что и запущен web сервер(apache/ngnix).

1 лайк

Спасибо за детальное сообщение. Права не пришлось добавлять, т.к. они уже есть в модуле

Осталось эту информацию довести до клиентов, в самом модуле и в документации.
Мир, дружба, жвачка :slight_smile:

Кстати, в модуле google_sitemap видимо используется какой то механизм, который позволяет не использовать cron.
Настройка этого модуля сама говорит за себя… Сам не проверял, но настройку видел воими глазами :stuck_out_tongue_winking_eye:.
Если это действительно правда, то разработчикам cs-cart стоило бы этот функционал реализовать во всех модулях, требующих выполнения по расписанию или подобных близких действий.

Там в настройках модуля ручками перегенерируется sitemap

http://prntscr.com/kix3je