Хорошая тема. Любые вопросы по CS-Cart и не только

Коллеги, в дебаге нашел очень долгий запрос.
Возникает просто при открытии списка товаров в админке на 25 товаров.

Как понять какой из модулей моет его вызывать?
Какой то поиск по файлам или еще что то.

Это не от модуля запрос
А медленный он вполне вероятно что от блокировки одной из участвующих таблиц или же мало эффективного индекса или слишком большего размера одной из таблиц
Хотя сам запрос крайне стандартный

1 лайк

Что то же его делает. И почему то он исчез после выключения/включения одного модуля. И так больше и не появился, хоть можно было бы на модуль пенять.

В общем как это победить то?

Вы уверены что запрос именно исчез, а не начал выполняться быстрее?

Точно, вы правы. Он остался, но стал значительно быстрее.
Но иногда снова становится ооочень медленным.

Подскажите, как массового добавить фото для товара с сервера, а то по одной как то не серьёзно?

Экспорт/импорт. Сделайте экспорт изображений одного товара, посмотрите формат, составьте в Экселе табличку по формату и загружайте.

Если приглядеться, то это тоже по одной. :wink:

1 лайк

Получается то, что писал выше theangriestman. Запрос нормальный, выполняется быстро, но когда у вас таблицы в локе, или сервер под высокой нагрузкой, он попадает в очередь и выполняется дольше обычного.

2 лайка

ну почему же. Я например именую фото товаров по артикулам и добавляю порядковый номер фото:
05678_1.jpg, 05678_2.jpg, 05678_3.jpg, итд
вместо артикула можно транслитерировать название, но мне так проще, а в adobe brige при обработке фото в photoshop это элементарно. Затем гружу все это на сервер. В файле для нового импорта собираю все одной давно заготовленной формулой для ячейки с фото:

=СЦЕПИТЬ(B2;"_1.jpg#{[ru]:;}///";B2;"_2.jpg#{[ru]:;}///";B2;"_3.jpg#{[ru]:;}///";B2;"_4.jpg#{[ru]:;}///";B2;"_5.jpg#{[ru]:;}///";B2;"_6.jpg#{[ru]:;}///";B2;"_7.jpg#{[ru]:;}///";B2;"_8.jpg#{[ru]:;}///";B2;"_9.jpg#{[ru]:;}///";B2;"_10.jpg#{[ru]:;}///";B2;"_11.jpg#{[ru]:;}///";B2;"_12.jpg#{[ru]:;}";)

где в ячейке B2 у меня находится артикул товара (product_code)
затем полученный csv гружу в новый импорт, и все, все изображения на месте, одним махом.

3 лайка

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

Помню, как-то занимался этой дурацкой работой. Немногим больше 500 товаров (2-3 фото у каждого) загружал вручную ровно 2 полных рабочих дня, а на наполнение файла для почти 400 товаров (у всех по 5 фото) потребовалось 3,5 рабочих дня.

Если всё на блюдечке, то конечно, ваш рецепт вполне подходящий, пожалуй возьму его на заметку. :slightly_smiling_face:

Добрый день! Подскажите, пожалуйста, как прописать Title на странице отзывов о магазине?

В макетах создайте новую страницу с типом Другое Значение discussion.view
Примерно так https://skr.sh/vCV62tQ6pmF
Заполнение страницы можно взять как в блоке Успешная регистрация https://skr.sh/sCVUdpQn9uF

Это Title https://skr.sh/sCV566y7WKq

2 лайка

Кто-нибудь знает, где отключается уведомление о том, что товар закончился и удален из корзины?

Если не хотите глобально разрешить отрицательное кол-во в наличии, то ищите в app/functions/fn.cart.php по “text_cart_zero_inventory_and_removed”

У меня в Настройки - Общие стоит так. Уведомления не приходят

Это работает с письмами на электронную почту админа или также для всплывающих оповещений в корзине покупателя?

С письмами админу работает

Письма нам как раз нужны, чтобы знать о том, что какой-то товар закончился. Чтобы заказать у поставщика или фасовщика отправить готовить товар к продаже. Проблема именно с оповещениями для покупателя.

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

Подскажите, пожалуйста, как в документах, к примеру в том же счете вывести общую сумму скидки на отдельный товар? p.discount выводит скидку за одну единицу, а subtotal_discount на весь заказ.